1.设置一个form标签,其内部包含text、radio、checkbox、select等内容,使用request来获取值并显示在新页面。其中text输入内容为中文。 2.使用sendRedirect和forward重定向和请求转发到其他自定义页面。
时间: 2024-10-08 21:03:30 浏览: 35
在HTML表单中设置一个这样的例子:
```html
<form action="processForm.jsp" method="post">
<label for="inputText">文本框:</label>
<input type="text" id="inputText" name="inputText" value="请输入中文"><br>
<label>单选按钮:</label>
<input type="radio" id="option1" name="option" value="选项1">
<label for="option1">选项1</label><br>
<input type="radio" id="option2" name="option" value="选项2">
<label for="option2">选项2</label><br>
<label>复选框:</label>
<input type="checkbox" id="checkbox1" name="checkbox" value="选择1">
<label for="checkbox1">选择1</label><br>
<input type="checkbox" id="checkbox2" name="checkbox" value="选择2">
<label for="checkbox2">选择2</label><br>
<label for="selectBox">下拉列表:</label>
<select id="selectBox" name="selectBox">
<option value="选项1">选项1</option>
<option value="选项2">选项2</option>
</select><br>
<input type="submit" value="提交">
</form>
```
当用户点击提交后,表单数据会被POST到`processForm.jsp`。在这个JSP文件中,你可以通过以下方式获取并显示值:
```jsp
<%!
String inputText = request.getParameter("inputText");
String selectedOption = request.getParameter("option");
boolean[] checkboxValues = request.getParameterValues("checkbox");
String selectValue = request.getParameter("selectBox");
%>
<p>文本框值:${inputText}</p>
<p>单选按钮值:${selectedOption}</p>
<p>复选框值:${checkboxValues.join(",")}</p>
<p>下拉列表值:${selectValue}</p>
```
然后,如果需要进行重定向或请求转发:
1. 使用`sendRedirect`(假设你希望用户看到新的URL):
```jsp
<%@ page import="javax.servlet.http.HttpServletRequest" %>
<%
HttpServletRequest request = (HttpServletRequest) request.getAttribute("javax.servlet.forward.request_uri");
HttpServletResponse response = (HttpServletResponse) request.getAttribute("javax.servlet.forward.response");
response.sendRedirect("redirectedPage.jsp");
%>
```
2. 使用`forward`(保持请求上下文,比如传递数据到下一个JSP):
```jsp
<%@ page import="javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse" %>
<%
request.getRequestDispatcher("forwardedPage.jsp").forward(request, response);
%>
```
在这些目标页面中,可以通过`request`对象继续访问和处理传递过来的参数。
阅读全文