我有三个JSP页面。第一个包含一个使用for循环创建的复选框。Page1.jsp:
for(int i=0; i<5; i++){
%>
<input type="checkbox" name="selection" value="box"+<%=i %> />
%>第二个(Page2.jsp)包括第一个,并将复选框的状态发送给第三个(Page2.jsp)。
Page2.jsp:
<jsp:include page="Page1.jsp">
<jsp:param name="type1" value="<%=request.getParameterValues(\"selection\")%>" />
</jsp:include>Page3.jsp:
<%String valuebd=request.getParameter("type1");谢谢!
发布于 2014-04-06 01:50:28
首先,我建议您不要使用scriptlet。它们将代码散落在整个JSP页面中,这使得您的应用程序非常难以管理。你应该使用EL (表达式语言)。这允许您在不使用Java代码的情况下向JSP页面添加功能,例如:
<c:if test="${parameterValue}">
<p>${parameterValue}</p>
</c:if>解决你的问题。我建议使用POST请求类型将值传递到服务器。然后,您可以从服务器将其重定向到所需的JSP页面。您不应该考虑在JSP页面之间逐字传递值。这打破了你在制作基于web的应用程序时所遵循的模式。
<input type="hidden" name="value" value="${parameterValue}"/>通过将类似于此元素的内容放入form元素中,并提交该表单,即可将其传递给servlet服务器。接下来,在java代码中,您可以使用RequestDispatcher将其传递给下一个JSP文件。
String value = request.getParameter("value");
RequestDispatcher dispatcher = request.getRequestDispatcher("page2.jsp");
dispatcher.forward(request, response);这将使该值在"page2.jsp“中可用。
https://stackoverflow.com/questions/22883596
复制相似问题