- - PR -
エンコードするかどうかを個別に指定したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-05 22:12
strutsで質問があります。
フォームに複数の項目があるときに、特定の項目だけHTMLタグを変換しないようにするにはどうしたら良いのでしょうか? 具体的には <html:textarea property="mailText" rows="10" value="<%= pMailText %>" /> で、pMailText の中に「From: <xxx@yyy.zzz> 」というメールアドレスがあると その部分が「From: <xxx@yyy.zzz> 」に変換されてしまうので困っています。 同じ画面の他の項目は逆にエンコードして欲しいのですが、そんな都合のいい方法はありますか? |
|
投稿日時: 2005-12-05 23:54
bean:writeタグなどはescape属性で指定可能ですが、
textareaタグは対応していないみたいですね。 1.textareaタグのクラスを継承して、独自のタグを作成する 2.非表示のdiv/span等のタグを作成して、bean:writeで書き出し、 Javascriptでtextareaに格納する って感じでいかがでしょうか。 ちなみにタグライブラリを自作するなら、 1.org.apache.struts.taglib.html.TextareaTagクラスを継承する 2.renderDataメソッドをオーバーライド 3.struts-html.tldのテキストエリアタグの設定部分を コピーしてmyTag.tldを作成する 4.web.xmlにタグライブラリの定義を追加 5.JSPで使用の宣言を追加 って感じでOKです。 |
|
投稿日時: 2005-12-06 13:38
ご回答ありがとうございます。
かつのりさまの回答からふとtextareaだけstrutsを使わないというのも ありかなと考え試してみました。 <textarea name="mailText" rows=10><%= pMailText %>" /></textarea> としたら期待通りの結果になりました。 タグ関係はstrutsを使うように統一していたのですが拘らないほうがいい 場合もあるのですね。 |
1