阅读textarea的新专栏

时间:2018-06-19 10:00:33

标签: javascript java html spring-boot

我已经构建了一个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;

    }

请建议我是否需要改变方法或尝试其他方法。

3 个答案:

答案 0 :(得分:0)

你试过br标签吗? 尝试使用br标签打印结果。

答案 1 :(得分:0)

基本上,空格字符(包括新行chr)也会被HTML转换为单个空格。 您需要为textarea编写onChange方法,以将新行char转换为<br><p>。通过这种方式,您将能够拥有新线的属性。

请查看以下答案: https://stackoverflow.com/a/29575181/3465242

答案 2 :(得分:0)

看起来您将其显示为HTML,请尝试:

String text = text.replace("\n", "<br>");