request除了获取请求参数中传递的值以外,我们还可以使用request对象获取表单中提交过来的信息。
获取Form表单的信息语法:
String[] request.getParamerValues(String parameter)
代码示例:
- index.jsp页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="show.jsp" method="post">
请输入用户姓名:<input type="text" name="name"><br>
选择性别:<input type="radio" value="男" name="sex">男
<input type="radio" value="女" name="sex">女<br>
请选择密码提示问题
<select name="question">
<option value="母亲生日">母亲生日</option>
<option value="父亲名字">父亲名字</option>
</select><br>
请输入问题答案:<input type="text" name="key" /><br>
请选择个人爱好:
<input type="checkbox" value="唱歌跳舞" name="like">唱歌跳舞
<input type="checkbox" value="网上冲浪" name="like">网上冲浪
<input type="checkbox" value="户外登山" name="like">户外登山
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
以上代码是一个简单的表单页面,提交方法是post方式,当写完表单后,点击提及时,表单的内容也会提交到show.jsp页面中。
- show.jsp页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
用户名:<%=new String(request.getParameter("name").getBytes("ISO8859_1"),"UTF-8")%><br>
性别:<%=new String(request.getParameter("sex").getBytes("ISO8859_1"),"UTF-8")%>
密码提示问题:<%=new String(request.getParameter("question").getBytes("ISO8859_1"),"UTF-8")%><br>
问题答案:<%=new String(request.getParameter("key").getBytes("ISO8859_1"),"UTF-8")%><br>
个人爱好: <%
String[] like=request.getParameterValues("like");
for (int i=0;i<like.length;i++){
%>
<%=new String(like[i].getBytes("ISO8859_1"),"UTF-8")%>
<%
}
%><br>
</body>
</html>
此页面时点击提交后就跳转的show.jsp页面,在此处通过request.getParameter()方法获取表单的值,让后将其转换为字符串对象,以"ISO8859_1"写的方式、"UTF-8"读取的方式进行编码。在这里注意的时,在获取index.jsp页面的个人爱好时,选择的不止一个值,因此需要用request.getParameterValues(“like”),去获取此处多个值,并且需要循环遍历输出。
- 运行展示