[Seasar-user:8769] Re: [Teeda] Textareaの入力Stringの改行について

Shinpei Ohtani [E-MAIL ADDRESS DELETED]
2007年 6月 28日 (木) 14:32:28 JST


大谷です.

改行が無視されているわけではありません.
現にPageクラスの方では、改行コードつきのStringがわたってきています.

問題は、改行コードを画面出力時に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/>");
    }

}

Pageクラスとhtmlは下記のような感じです.

package examples.teeda.web.textarea;

public class TextareaPage {

	public static final String bbb_textareaSeparatorCharacterConverter = null;

	private String aaa;

	private String bbb;

	public String getBbb() {
		return bbb;
	}

	public void setBbb(String bbb) {
		this.bbb = bbb;
	}

	public String getAaa() {
		return aaa;
	}

	public void setAaa(String aaa) {
		this.aaa = aaa;
	}

	public void doHoge() {
		System.out.println(aaa);
		bbb = aaa;
	}
}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja"
lang="ja">
<body>
<form id="form">
<textarea id="aaa">hoge</textarea>
<br/>

<span id="bbb" te:escape="false">hoge</span>
<input type="submit" id="doHoge"/>
</form>
</body>
</html>

こんなような感じで変換できます.
宜しくお願いします.


07/06/28 に Huynh Van Chung<[E-MAIL ADDRESS DELETED]> さんは書きました:
> フィンです。
>
> 現在最新のchuraでSuper Agile(Teeda + S2Dao)のアプリケーションを開発して
> います。
> textareaの入力Stringの改行はうまく表示されていません。
>
> main.html
> Body: <textarea id="body"></textarea>
>
> confirm.html(main.htmlページのsubmitボタンを押されたときに遷移されるページ)
> Body: <span id="body"></span>
>
> という簡単なサンプルですが、confirm.htmlではbodyの内容を一行しか表示しない。
> 改行が無視されています。
>
> どうすれば、改行が表示できるでしょうか。
> よろしくお願いします。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
=============================
Shinpei Ohtani
[E-MAIL ADDRESS DELETED]
=============================



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