使用htmlunit的多行文本区域

时间:2014-07-31 00:19:26

标签: java javascript html htmlunit

要求:我在网页上有一个多行textarea,有一些默认值,我需要更改这些值并提交表单。文本区域定义如下。

<textarea id="editorarea" name="_editedtext"
         class="editor"
       onkeyup="getSuggestions(this.id)"
       onclick="setCursorPos(this.id)"
      onchange="setCursorPos(this.id)"
          rows="20" cols="80">! Lorem ipsum" text is derived
from sections 1.10.32–3 of Cicero's De
finibus bonorum et malorum (On the Ends of Goods

问题:当我从字符串设置textarea的文本时,它变为如下所示:

<textarea id="editorarea" name="_editedtext"
         class="editor"
       onkeyup="getSuggestions(this.id)"
       onclick="setCursorPos(this.id)"
      onchange="setCursorPos(this.id)"
          rows="20" cols="80">Lorem ipsum" text is derived&lt;br&gt;from sections 1.10.32–3 of Cicero's De &lt;br&gt;| LPAR Name If Remote:| N/A1&lt;br&gt;\\ &lt;br&gt;! Endpoints&lt;br&gt;finibus bonorum et malorum (On the Ends of Goods'&lt;br&gt;         

所以内容变成一行,换行没有得到识别,我试过&#34; \ n&#34; ,&#34;
&#34;两者都没有用。

我在arraylist中输入并将它们转换为单个字符串,如下所示:

public static void createString(){
    StringBuilder sb = new StringBuilder();
    for(String s : finalModifiedList){
    sb.append(s);
sb.append("<br>");   
    }
    finalString =sb.toString();

并将textarea内容设置如下

HtmlTextArea  erfTextarea = textAreaForm.getTextAreaByName("_editedtext");
erfTextarea.setText(content);

TextArea Charset是:UTF-8

请告诉我如何使用htmlunit输入多行文字

1 个答案:

答案 0 :(得分:0)

在createString()

中将sb.append("<br>");替换为sb.append("\n");