简体   繁体   中英

Get Textarea Line breaks in a Java String

I have the following form:

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

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

Just testing the message, into index.jsp code:

<p> Problem: ${problem}</p>
<p> Message: ${message}</p>

It is working, but I got a problem, if the written message be: "It is a message;

It is a new line of message.

I'm breaking lines."

The printed message will be: "It is a message;It is a new line of message.I'm breaking lines."

How can I get, with a String, the written line breaks from textarea message?

Use the StringBuffer like this,

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM