我已经构建了一个Web应用程序。我正在尝试获取form:textarea
中输入的文字。我想以相同的格式阅读用户输入的文本。
用户输入以下示例:
hi!
How
Are
you?
我得到hi! How Are You?
的结果,错过了新的行。
这是我的代码示例:
JSP:
<form:form id="addRssFeed" modelAttribute="rssFeed" action="apiTextContent?mode=addNew&page=rssFeeds" enctype="multipart/form-data" method="post">
<div class="form-group" style="width: 392px; ">
<div class="form-row">
<div >
<form:label path="inputTextFiled1" for="tile">Title: </form:label>
<form:input path="inputTextFiled1" autocomplete="off" class="form-control" id="title" type="text" placeholder="Enter the title to the Feed"/>
</div>
</div>
<div class="form-row">
<div >
<form:label path="inputTextFiled2" for="content">Content: </form:label>
<form:textarea path="inputTextFiled2" class="form-control" style="width: 200%; height: 200px;" id="encJs" placeholder="Enter the body of Feed"></form:textarea>
</div>
</div>
<div class="form-row">
<div >
<input name="file" id="fileToUpload" type="file" onchange="validateImage()"/>
</div>
</div>
<div >
<%-- <p><form:input name="file" id="fileToUpload" type="file" onchange="validateImage()"/></p> --%> <p id="message"></p></div>
</div>
<a href="#" onclick="#">Show Preview </a>
<form:button class="btn btn-primary btn-block" id="Publish" style="width: 25%;margin: 0px auto;">Publish</form:button>
</form:form>
ApiText.java
private String inputTextFiled1;
private String inputTextFiled2;
--- getters and setters---
服务
public String convertToImage(CommonsMultipartFile file, ApiTextModel apiTextModel) throws IOException {
StringBuffer imageString = new StringBuffer("");
String html= null;
if(file.getSize() !=0){
File convFile = new File( file.getOriginalFilename());
file.transferTo(convFile);
BufferedImage src;
src = ImageIO.read(convFile);
BufferedImage image = toBufferedImage(src);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
String data = DatatypeConverter.printBase64Binary(baos.toByteArray());
imageString.append("<img style=\"display:block; height: 300px; margin-left: auto; margin-right: auto;\" src='data:image/png;base64," + data+"'>");
}
html = "<html><body> "+
"<h2 style=\"text-align: center;font-size: 49px;\">"+apiTextModel.getInputTextFiled1() +" </h2> "+ imageString.toString() +
"<div style=\"font-size: 25px;\">"+apiTextModel.getInputTextFiled2() +"</div></body></html>";
System.out.println(imageString);
return html;
}
请建议我是否需要改变方法或尝试其他方法。
答案 0 :(得分:0)
你试过br标签吗? 尝试使用br标签打印结果。
答案 1 :(得分:0)
基本上,空格字符(包括新行chr)也会被HTML转换为单个空格。
您需要为textarea编写onChange方法,以将新行char转换为<br>
或<p>
。通过这种方式,您将能够拥有新线的属性。
答案 2 :(得分:0)
看起来您将其显示为HTML,请尝试:
String text = text.replace("\n", "<br>");