[Seasar-user:8801] Re: [Teeda] htmlタグの一部をエスケープ

山下 真里 [E-MAIL ADDRESS DELETED]
2007年 6月 29日 (金) 11:58:40 JST


大谷さま

ご回答ありがとうございます。

ご指摘どおり、いただきましたソースを、
暫定的に、下記のようにさせていただきまして、
エスケープの対処をさせていただきました。

また、すがさんからご指摘ありました、
改行コードも調べさていただこうと思います。

誠にありがとうございました。


public String getAsString(FacesContext context, UIComponent component,
     Object value) throws ConverterException {
     String s = super.getAsString(context, component, value);

     s = s.replaceAll("&", "&");
     s = s.replaceAll("\"", """);
     s = s.replaceAll("<", "&lt;");
     s = s.replaceAll(">", "&gt;");

     return s.replaceAll(SEP, "<br/>");
}



----- Original Message ----- 
送信者: Shinpei Ohtani<[E-MAIL ADDRESS DELETED]>
宛先: [E-MAIL ADDRESS DELETED]
日付:Thursday, June, 28, 2007, 02:28 PM
件名: [Seasar-user:8768] Re:[Teeda] htmlタグの一部をエスケープ

> 
> 
> 大谷です.
> 
> 別のSeasarUserの件でも言われたので、さっくりと
> 改行をbrタグに置き換えるConverterを作成してみました.
> 
> public class TextareaSeparatorCharacterConverter extends CharacterConverter {
> 
>     private static String SEP = System.getProperty("line.separator");
> 
>     public Object getAsObject(FacesContext context, UIComponent component,
>             String value) throws ConverterException {
>         return value;
>     }
> 
>     public String getAsString(FacesContext context, UIComponent component,
>             Object value) throws ConverterException {
>         String s = super.getAsString(context, component, value);
>         return s.replaceAll(SEP, "<br/>");
>     }
> 
> }
> 
> 使い方は下記のような感じです.
> 
> public static final String bbb_textareaSeparatorCharacterConverter = null;
> 
> このような形で要件を満たすように、getAsString()のメソッドを
> 作りこめば良いと思います.
> 
> 07/06/28 に Shinpei Ohtani<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > 大谷です.
> >
> > > 少し考えたので、実践はしてないのですが、
> > > characterConverter などを利用して、改行コードを、
> > > <br />に置き換えるようなことはできないでしょうか。
> > >
> > > Converterの詳細をまだ、理解しきれていないので、
> > > 見当違いなことをいってしまっていたら大変申し訳ございません。
> >
> > いえ、可能だと思いますし、
> > 作るならConverterとして作っておくのは良い選択なのではないでしょうか.
> >
> >
> > 28 Jun 2007 10:32:18 +0900 に 山下 真里<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > 大谷様
> > >
> > > いつもお世話になっております。
> > > 山下です。
> > >
> > > やはり、自前ロジックを用意するしかないですよね。
> > >
> > > 少し考えたので、実践はしてないのですが、
> > > characterConverter などを利用して、改行コードを、
> > > <br />に置き換えるようなことはできないでしょうか。
> > >
> > > Converterの詳細をまだ、理解しきれていないので、
> > > 見当違いなことをいってしまっていたら大変申し訳ございません。
> > >
> > > 山下
> > >
> > >
> > > ----- Original Message -----
> > > 送信者: Shinpei Ohtani<[E-MAIL ADDRESS DELETED]>
> > > 宛先: [E-MAIL ADDRESS DELETED]
> > > 日付:Wednesday, June, 27, 2007, 11:36 AM
> > > 件名: [Seasar-user:8706] Re:[Teeda] htmlタグの一部をエスケープ
> > >
> > > >
> > > >
> > > > 大谷です.
> > > >
> > > > > Teeda で htmlタグをエスケープせずに、表示する方法としましては、
> > > > > <... te:escape="false" .../>としますが、
> > > > > 例えば、<br />だけ、エスケープしないで表示したりすることなどは
> > > > > できないでしょうか?
> > > >
> > > > これはちょっと難しいように思います.
> > > > <... te:escape="false" .../>とあとは自前でエスケープ変換ロジックを
> > > > 書くのが良いのではないでしょうか.
> > > >
> > > > 宜しくお願いします.
> > > >
> > > > 27 Jun 2007 10:42:18 +0900 に 山下 真里<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > > > > いつもお世話になっております。
> > > > > 山下です。
> > > > >
> > > > > Teeda で htmlタグをエスケープせずに、表示する方法としましては、
> > > > > <... te:escape="false" .../>としますが、
> > > > > 例えば、<br />だけ、エスケープしないで表示したりすることなどは
> > > > > できないでしょうか?
> > > > >
> > > > > データベースから、データを取得する際に、改行コードを
> > > > > <br />に変換して画面へ出力しています。
> > > > > te:escape="false"を利用することにより、
> > > > > 画面上、改行されて表示できるようになりました。
> > > > > しかし、データベースに、<img src="">などといった
> > > > > タグが登録されている場合、一度、エスケープ変換してから、
> > > > > 画面へ出力をしております。
> > > > >
> > > > > プログラミングをしていると、<br />のみは、
> > > > > エスケープせずに表示し、<img ..>などは、
> > > > > エスケープして表示したい場合などがあるかと思います。
> > > > > こういった場合、皆様はどのように対応を
> > > > > されているのでしょうか。
> > > > >
> > > > > データベースに、<img ...>などを登録させなければ、
> > > > > よいかもしれませんが、ほかに対応方法がありましたら
> > > > > 教えていただけないでしょうか。
> > > > >
> > > > > よろしくお願いいたします。
> > > > >
> > > > > 山下
> > > > > _______________________________________________
> > > > > Seasar-user mailing list
> > > > > [E-MAIL ADDRESS DELETED]
> > > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > > >
> > > >
> > > >
> > > > --
> > > > =============================
> > > > Shinpei Ohtani
> > > > [E-MAIL ADDRESS DELETED]
> > > > =============================
> > > > _______________________________________________
> > > > Seasar-user mailing list
> > > > [E-MAIL ADDRESS DELETED]
> > > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > > >
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://ml.seasar.org/mailman/listinfo/seasar-user
> > >
> >
> >
> > --
> > =============================
> > Shinpei Ohtani
> > [E-MAIL ADDRESS DELETED]
> > =============================
> >
> 
> 
> -- 
> =============================
> Shinpei Ohtani
> [E-MAIL ADDRESS DELETED]
> =============================
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 



Seasar-user メーリングリストの案内