获取Java字符串中的文本区域换行符



我有以下表格:

<form method="post" action="./Contact">
    <input type="text" name="Problem"><br>
    <textarea name="message"></textarea>
    <input type="submit" value="Send Problem">
</form>

Into Contact 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>

它正在工作,但我遇到了一个问题,如果书面信息是:"这是一条信息;

这是一条新的信息线。

我打破了界限。"

打印的信息将是:"这是一条信息;这是一行新的信息。我正在打破界限。"

使用字符串,我如何从文本区消息中获得换行符?

像这样使用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);
}

最新更新