如何将包含的JSP页面中的复选框状态发送到另一个JSP页面

时间:2014-04-05 16:29:55

标签: java jsp servlets

我有三个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");

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,我建议您不要使用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);

这将使&#34; page2.jsp&#34;。

中的值可用