JSP 之 动态包含 <jsp:include />
2011-11-04 20:25
288 查看
JSP之 动态包含<jsp:include />
现在我们来看看JSP 的动态包含指令: <jsp:include />
我们新建一个工程TestInclude
然后加入文件:
Index.jsp:
curDate.jsp:
查看结果/源代码:
查看Tomcat 工作目录:
查看index_jsp.java文件:
curDate_jsp.java:
在index_jsp.java文件中
我们看到的<jsp:include page="curDate.jsp?user=ken"/>实际被编译成以下语句:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request,response,"curDate.jsp?user=ken", out, false);
这个是动态地将参数 (request, response, "curDate.jsp?user=ken",out, false);传递到curDate_jsp. java里执行,注意这些参数在实际程序中是动态的,所以当执行这个语句时,curDate_jsp.class 返回结果给index_jsp.class,而这个结果是存放在参数中的对象out中的..简单地说就是
curDate.jsp取得参数并计算出结果后,再将结果返回给index.jsp(在运行时动态调用的)
现在我们来看看JSP 的动态包含指令: <jsp:include />
我们新建一个工程TestInclude
然后加入文件:
Index.jsp:
<%@ page language="java"import="java.util.*" pageEncoding="ISO-8859-1"%> <html> <body> <jsp:include page="curDate.jsp?user=ken"/> <p>index.jsp'srequest: <%out.println(request);%> </p> </body> </html>
curDate.jsp:
<%@ page language="java"import="java.util.*" %> <p>curDate.jsp: <%=new Date()%></p> <!-- curDate--> <%= request.getParameter("user") %> <p>curDate.jsp's request: <%out.println(request);%> </p>
查看结果/源代码:
查看Tomcat 工作目录:
查看index_jsp.java文件:
try { response.setContentType("text/html;charset=ISO-8859-1"); pageContext =_jspxFactory.getPageContext(this, request,response, null, true, 8192, true); _jspx_page_context = pageContext; application =pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n"); out.write("<html>\r\n"); out.write(" <body>\r\n"); out.write(" \t"); org.apache.jasper.runtime.JspRuntimeLibrary.include(request,response, "curDate.jsp?user=ken", out, false); out.write("\r\n"); out.write(" \t<p>index.jsp's request: "); out.print(request); out.write(" </p>\r\n"); out.write(" </body>\r\n"); out.write("</html>\r\n"); } catch (java.lang.Throwable t) {
curDate_jsp.java:
try { response.setContentType("text/html"); pageContext =_jspxFactory.getPageContext(this, request,response, null, true, 8192, true); _jspx_page_context = pageContext; application =pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\r\n"); out.write("<p>curDate.jsp: "); out.print(new Date()); out.write("</p> <!-- curDate -->\r\n"); out.print( request.getParameter("user") ); out.write("\r\n"); out.write("<p>curDate.jsp's request: "); out.print(request); out.write(" </p>"); } catch (java.lang.Throwable t) {
在index_jsp.java文件中
我们看到的<jsp:include page="curDate.jsp?user=ken"/>实际被编译成以下语句:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request,response,"curDate.jsp?user=ken", out, false);
这个是动态地将参数 (request, response, "curDate.jsp?user=ken",out, false);传递到curDate_jsp. java里执行,注意这些参数在实际程序中是动态的,所以当执行这个语句时,curDate_jsp.class 返回结果给index_jsp.class,而这个结果是存放在参数中的对象out中的..简单地说就是
curDate.jsp取得参数并计算出结果后,再将结果返回给index.jsp(在运行时动态调用的)
相关文章推荐
- 玩转Web之Jsp(一)-----jsp中的静态包含(<%@include file="url"%>)与动态包含(<jsp:include>)
- 动态包含(<jsp:include>)
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别
- <%@ include file="relativeURL" %>静态及<jsp:include>动态
- 玩转Web之Jsp(一)-----jsp中的静态包含(<%@include file="url"%>)与动态包含(<jsp:include>)
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别
- 玩转Web之Jsp(一)-----jsp中的静态包含(<%@include file="url"%>)与动态包含(<jsp:include>)
- JSP 之 静态包含 <%@ include %>
- jsp的静态包含与动态包含:<%@ include file="" %>和<jsp:include page=""></jsp:include>区别与分析
- 使用<jsp:include>,不想写死URL,动态生成URL的解决的方法
- 使用<jsp:include>,不想写死URL,动态生成URL的解决办法
- JSP 使用<%@include%>报Duplicate local variable path 错误 解决方法
- JSP <%@include%> <jsp:include/>
- jsp中<jsp:include>标签传递动态参数问题
- <%@ page include=""%> 和<jsp:include flush="true" page=""></jsp:include>两者的区别
- jsp 静态引入<%@ include %> 动态引入<jsp:include> 区别(备忘)
- ₪<jsp:include>与include指令的比较
- <jsp:include flush="true" />