jsp实现textarea中的文字保存换行空格存到数据库的方法

首先,需要使用Java后端编写一个SaveTextServlet,该Servlet接收来自前端页面的POST请求,将textarea中的文字保存到数据库中。

1.前端页面代码示例:

<form action="SaveTextServlet" method="post">
  <textarea name="content"></textarea>
  <input type="submit" value="Submit">
</form>

2.Servlet代码示例:

@WebServlet("/SaveTextServlet")
public class SaveTextServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
  private TextDao textDao = new TextDao();

  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    String content = request.getParameter("content");
    String formattedContent = formatContent(content);
    textDao.save(formattedContent);
    response.sendRedirect("success.html");
  }

  private String formatContent(String content) {
    // 去除多余的换行和空格,只保留一个换行或空格
    content = content.replaceAll("[\\s]+", " ");
    StringBuilder sb = new StringBuilder();
    for (char c : content.toCharArray()) {
      if (c == ' ') {
        sb.append("&nbsp;");   // 替换空格为"&nbsp;"
      } else if (c == '\n' || c == '\r') {
        sb.append("<br/>");   // 替换换行为"<br>"
      } else {
        sb.append(c);         // 其他字符正常添加
      }
    }
    return sb.toString();
  }
}

在这段代码中,我们首先通过request.getParameter()方法获取前端提交的textarea内容。然后,我们使用formatContent()方法处理内容,将多余的换行和空格去掉,并将空格替换成HTML实体" ",将换行替换成HTML标签"
"。最后,将处理后的内容保存到数据库中并重定向到一个success.html页面。

处理后的内容可以存储为VARCHAR类型或TEXT类型,存储空间与原始内容长度相同,但会将多余的空格和换行占用的多余存储空间节省下来。

另外,我们还可以通过JSTL标签库实现类似的效果:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
...
<form action="SaveTextServlet" method="post">
  <textarea name="content"></textarea>
  <input type="submit" value="Submit">
</form>
...
<c:if test="${not empty param.content}">
  <p>${fn:replace(param.content, '\r\n|\n\r|\n|\r', '<br/>')}</p>
</c:if>

在JSP页面中,我们使用c:if标签判断内容是否为空。如果不为空,我们就使用fn:replace函数替换换行为"
"。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jsp实现textarea中的文字保存换行空格存到数据库的方法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 教你利用SpringBoot写一个属于自己的Starter

    教你利用SpringBoot写一个属于自己的Starter Spring Boot Starter是一种用于简化Spring应用程序配置的机制。它可以将一组相关的依赖项打包到一个单独的模块中,并提供自动配置和其他功能。本文将详细介绍如何编写一个属于自己的Spring Boot Starter,并提供两个示例。 创建Starter项目 首先,我们需要创建一个M…

    Java 2023年5月15日
    00
  • 详解Spring Boot最核心的27个注解,你了解多少?

    现在让我来详细讲解一下“详解SpringBoot最核心的27个注解,你了解多少?”的完整攻略。 引言 SpringBoot是一款优秀的Java Web开发框架,用于快速构建Web应用程序。在SpringBoot框架中,注解的使用十分重要,可以提高开发效率、提高代码可读性和可维护性。本文将详细介绍SpringBoot框架中最核心的27个注解,旨在帮助大家更好地…

    Java 2023年5月15日
    00
  • 详解Java中格式化日期的DateFormat与SimpleDateFormat类

    详解Java中格式化日期的DateFormat与SimpleDateFormat类 在Java编程中,时间和日期的操作是比较常见的,因此学习Java中时间和日期的处理是很有必要的。在Java中,可以使用 DateFormat 和 SimpleDateFormat 类来对日期进行格式化。 DateFormat类 DateFormat 类是抽象类,提供了与日期相…

    Java 2023年5月20日
    00
  • jsp、struts、spring、mybatis实现前端页面功能模块化拆分的方案

    要理解如何使用JSP、Struts、Spring和MyBatis实现前端页面功能模块化拆分的方案,需要遵循以下步骤: 确定需要拆分的功能模块 首先,您需要确定哪些功能模块可以拆分成独立的组件。这可以通过查看您的应用程序并确定哪些部分可以在不同的页面或功能区域中重用来实现。 例如,您的网站可以拆分为登录、注册、个人资料和搜索等功能模块。 创建独立的JSP文件和…

    Java 2023年5月20日
    00
  • Java中的继承详情

    下面是关于Java中继承的详细讲解和示例说明: 什么是继承? 在Java中,继承是一种面向对象编程的重要特性,它允许一个类(称为子类)继承另一个类(称为父类)的属性和方法。继承机制允许子类重写父类的方法或添加自己的属性和方法。 如何实现继承? 在Java中,使用关键字extends实现继承,具体语法为: class SubClass extends Supe…

    Java 2023年5月26日
    00
  • MyBatisPlus TypeHandler自定义字段类型转换Handler

    下面是”MyBatisPlus TypeHandler自定义字段类型转换Handler”的完整攻略: 什么是 MyBatisPlus TypeHandler MyBatisPlus TypeHandler是MyBatis用于处理Java的JDBC类型与数据库的JDBC类型相互转换的接口。 MyBatisPlus为我们提供了很多预定义的TypeHandler,…

    Java 2023年5月20日
    00
  • java如何把逗号分隔的String字符串转int集合

    要把逗号分隔的字符串转换为整数集合,可以使用Java中的split()方法将字符串分割,然后使用Integer.parseInt()方法将分割后的字符串转换为整数,最后将整数添加到集合中。以下是完整的攻略: 步骤一:将逗号分隔的字符串转为字符串数组 使用String类的split()方法可以将逗号分隔的字符串转化为字符串数组。 String str = &q…

    Java 2023年5月20日
    00
  • Spring Cloud 中@FeignClient注解中的contextId属性详解

    当我们使用Spring Cloud中的FeignClient进行服务间调用时,我们可以在@FeignClient注解中,定义contextId属性,用于指定当前FeignClient的contextId,以便区分不同的FeignClient实例。 具体来说,contextId属性的作用有如下两个: 当我们使用了相同FeignClient接口的多个实例时,使用…

    Java 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部