JSP 表单处理学习笔记

表单的基本概念

表单是客户端与服务器之间进行交互的一个重要途径。表单通常由一个或多个表单元素组成,表单元素包括输入框、下拉框、单选框、复选框等等。用户在表单中输入数据后,可以通过提交表单将数据发送给服务器进行处理。在 JSP 中,我们可以使用内置对象 request 来获取表单中提交过来的数据。

获取表单数据

在 JSP 中,我们可以通过以下方式获取表单中提交的数据:

  • 使用 request.getParameter() 方法。该方法用于获取表单中指定名称的参数值,它返回一个字符串类型的值。例如,获取名称为 username 的文本框输入值:String username = request.getParameter("username");
  • 使用 request.getParameterValues() 方法。该方法用于获取表单中指定名称的参数值数组,它返回一个字符串数组类型的值。例如,获取名称为 hobby 的多选框的所有选中值:String[] hobby = request.getParameterValues("hobby");

实例演示

下面是一个简单的 JSP 页面,包含一个文本框和一个多选框,并通过表单提交数据到服务器,在服务器端显示用户输入的数据:

jspCopy Code
<%@ page contentType="text/html;charset=UTF-8" %> <html> <head> <title>JSP 表单处理实例</title> </head> <body> <h1>JSP 表单处理实例</h1> <form name="testForm" method="post" action="form.jsp"> <p>用户名:<input type="text" name="username"/></p> <p>爱好: <input type="checkbox" name="hobby" value="篮球"/>篮球 <input type="checkbox" name="hobby" value="足球"/>足球 <input type="checkbox" name="hobby" value="乒乓球"/>乒乓球 </p> <p><input type="submit" value="提交"/></p> </form> </body> </html>

在表单提交后,服务器端的 form.jsp 页面可以使用以下代码获取表单中的数据,并输出到页面上:

jspCopy Code
<%@ page contentType="text/html;charset=UTF-8" %> <html> <head> <title>JSP 表单处理实例 - 处理结果</title> </head> <body> <h1>JSP 表单处理实例 - 处理结果</h1> <p>您输入的用户名为: <%= request.getParameter("username") %></p> <p>您的爱好为: <% String[] hobby = request.getParameterValues("hobby"); if(hobby!=null){ for(int i=0;i<hobby.length;i++){ out.print(hobby[i]+" "); } }%> </p> </body> </html>

当用户输入用户名为 tom,勾选了 篮球乒乓球 多选框并提交表单时,在服务器端显示的结果将是:

Copy Code
您输入的用户名为: tom 您的爱好为: 篮球 乒乓球

注意:在实际项目中,我们通常会对用户提交的数据进行校验和处理,避免用户输入不合法数据或恶意提交数据造成安全问题。