获取textarea的换行符在Java字符串(Get Textarea Line breaks in

2019-10-29 14:03发布

我有以下形式:

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

这是工作,但我有一个问题,如果所编写的消息是:“这是一个消息;

这是消息的新生产线。

我打破行“。

印刷消息将是:“这是一个消息;它是message.I'm断裂线一个新行”。

我怎样才能得到,用字符串,从文本区域信息的书面换行符?

Answer 1:

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


文章来源: Get Textarea Line breaks in a Java String