我有以下表格:
<form method="post" action="./Contact">
<input type="text" name="Problem"><br>
<textarea name="message"></textarea>
<input type="submit" value="Send Problem">
</form>
进入联系Servlet代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String b = request.getParameter("Problem");
String a = request.getParameter("message");
request.setAttribute("message", a);
request.setAttribute("problem", b);
request.getRequestDispatcher("./index.jsp").forward(request, response);
}
只是测试消息,进入index.jsp代码:
<p> Problem: ${problem}</p>
<p> Message: ${message}</p>
它正在工作,但是我遇到了问题,如果写的信息是: &#34;这是一条消息;
这是一条新的信息。
我打破了界限。&#34;
打印的信息将是: &#34;这是一条信息;这是一条新的信息。我打破了这一行。&#34;
如何使用String从textarea消息中获取写入的换行符?
答案 0 :(得分:0)
像这样使用StringBuffer
,
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String b = request.getParameter("Problem");
// String a = request.getParameter("message");
StringBuffer text = new StringBuffer(request.getParameter("message"));
int loc = (new String(text)).indexOf('\n');
while(loc > 0){
text.replace(loc, loc+1, "<BR>");
loc = (new String(text)).indexOf('\n');
}
request.setAttribute("message", text);
request.setAttribute("problem", b);
request.getRequestDispatcher("./index.jsp").forward(request, response);
}