我从一本JSP的书上看到了一个例子,有三个文件forwardParam.jsp文件:<%@ page contentType="text/html; charset=GB2312" %><html><head><title>forwardParam</title></head><body bgcolor="#ffffff"><jsp:forward page="forward1.jsp"> <jsp:param name="param1" value="hello"/></jsp:forward></body></html>forword1.jsp文件:<%@ page contentType="text/html; charset=GB2312" %><html><head><title>forward1</title></head><body bgcolor="#ffffff"><%=request.getParameter("param1") %></body></html>forward2.jsp文件:<%@ page contentType="text/html; charset=GB2312" %><html><head><title>forward2</title></head><body bgcolor="#ffffff"><%=request.getParameter("param2") %></body></html>结果应该是"JSP"才对吧?怎么只显示"hello"呢?请问<jsp:param>传参是怎样传递的?我刚刚学,请详细为我讲讲,谢谢了先!
你的第一个文件向forword1.jsp只传了一个参数,<jsp:param name="param1" value="hello"/> ,他的值为hello,所以你的forword1.jsp只能显示param1一个参数的值.至于你的forward2.jsp中的param2的值,你并没有写出来它是从哪个文件传过来的,估计你是想让他为JSP你可以把第一个文件改成<jsp:forward page="forward1.jsp"> <jsp:param name="param1" value="hello"/> <jsp:param name="param2" value="JSP"/> </jsp:forward> 在forword1.jsp改成<%=request.getParameter("param1") %> <%=request.getParameter("param2") %> 这样两个参数就都能显示了
657343806说了如何显示"JSP"的方法<jsp:param/>的传参过程其实是通过servlet类,把"hello"封装到一个request传递到forward1.jsp中去。其中传递语句应该是这样的:context.forward("\\forward.jsp?param1=hello");(实际生成的代码比这个要复杂的多,如果你用的是tomcat,可以在$tomcat5\work\Catalina\localhost\相应目录下搜索到forwardParam_jsp.java文件,这个代码应该在40行以后可以找到)如果还有不明白的可以讨论下MSN: owee2008@live.com