Preserve line breaks in HTML,JAVA,Spring

2019-06-21 23:21发布

问题:

i have a web application built with HTML(front-end),java(server-side) and i have a textarea when posting some data with line breaks (pressing enter after a word) the line breaks are not reserved (the data appears next to each other with no line breaks) how to preserve the line breaks ?, note that i am not using the tag when displaying (have to)

i am using the code server side to convert new lines into br

public String saveLineBreaks(String text) {
        return text.replaceAll("\n", "<br/>");
    }

but it doesn't work properly

回答1:

This is just a wild guess, as I don't know what web framework you are using etc. but:

Text from a <textarea> will probably have line breaks (\n), but HTML will interpret them as whitespace. So on the java side, you need to do something like this:

String forOutput = input.replace("\n", "<br />\n");

However, in almost every imaginable web framework, there is some utility method that does this for you manually or automatically, so the question is to find the right one for you.



回答2:

Maybe \n isn't the line delimiter. Try using System.getProperty("line.separator").