【问题标题】:Read new line from textarea从 textarea 读取新行
【发布时间】:2018-06-19 10:00:32
【问题描述】:

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

    }

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

【问题讨论】:

标签: javascript java html spring-boot


【解决方案1】:

基本上,一个空白字符(也包括换行符)被 HTML 转换为单个空格。 您需要为 textarea 编写 onChange 方法以将新行字符转换为 &lt;br&gt;&lt;p&gt;。这样,您将能够拥有新行的财产。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这不是问题的答案,包括一些例子
    • 对不起,我没有表达清楚。标记为 html 中的中断标记。
    【解决方案3】:

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

    String text = text.replace("\n", "&lt;br&gt;");

    【讨论】:

      猜你喜欢
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      相关资源
      最近更新 更多