输入textarea :(这3行)
<textarea id="preM" rows="3" cols="10" style="resize: none; width:100%;">
</textarea><br/>
这是textarea的例子 这是新线路 大家好
在JSP页面中,我正在检索文本区域的值
String variableString = request.getParameter("preM");
System.out.println(variableString);
输出为:
这是textarea的例子这是新的Line Hello All
预期产出:
这是textarea的例子 这是新线路 大家好
我已经尝试了
StringBuffer preM = new StringBuffer(request.getParameter("preM"));
int loc = (new String(preM)).indexOf('\n');
while(loc > 0){
text.replace(loc, loc+1, "<BR>");
loc = (new String(preM)).indexOf('\n');
}
out.println(preM);
但获得loc=-1
。
答案 0 :(得分:0)
最好的方法是将文本包装成BufferedReader
,它可以用来遍历行,然后使用PrintWriter
将每行写入文件特定于平台的换行符。
请参阅此SO:Strings written to file do not preserve line breaks
这里提到了两种方法,个人来节省内存和为了在更大的字符串上表现良好,我会选择Bufferedreader
方式。