Jsp的转发
jsp中有request对象,可以调用实现转发(写在body中!)
测试案例
main.jsp:
标签中间要么什么都不加要么加特定的子标签
写法一:
<!-- jsp的转发forword标签 标签中间要么什么都不加要么加特定的子标签 -->
<jsp:forward page="forward.jsp"></jsp:forward>
写法二:
<!-- jsp的转发forword标签 标签中间要么什么都不加要么加特定的子标签 -->
<jsp:forward page="forward.jsp">
<jsp:param value="ljx" name="str"/>
</jsp:forward>
<%=str %>
写法二在jsp.java中:
(可知是get请求方式,因为str=ljx拼接在了url?后面,所以获取的时候要getParameter())
if (true) {
_jspx_page_context.forward("forward.jsp" + "?" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("str", request.getCharacterEncoding())+ "=" + org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("ljx", request.getCharacterEncoding()));
return;
}
//这个也重要!!!
out.print(str );
forward.jsp:
<body>
<b>我是转发页面forward.jsp</b>
<hr>
<b><%=request.getParameter("str") %></b>
</body>
如何获取str
因为str是request.forward方式发送过来的 所以接收用request.getParameter()方法获取
留下问题,你没实现看tomcat源码,不清楚每个类对应的具体方法