jsp---->包含指令和forward指令

1、包含指令
 
<
%@include%>:只是将页面的内容静态的包含进来,如果被包含的页面有JSP 代码,则执行此代码,而不管被包含的页面文件后缀如何。所有代码包含进来之后,一起进行处理,把所有代码合在一起。先包含后处理
 <jsp:include/>:如果被包含的文件内容是静态的,则直接将内容包含进来,但是不处理,如果被包含的页面是动态的,则先执行,再把结果包含进来显示。所有的代码分别处理,处理完成之后再将代码的显示结果(处理结果)包含进来。可以传递参数,被包含页面通过 request.getParameter()获得参数。先处理后包含

<jsp:include page="incl.jsp">
  <jsp:param name="ref1" value="MLDN"/>
  <jsp:param name="ref2" value="LXH"/>
 </jsp:include>

 下面的例子可以说明区别:
 被包含的文件:include.jsp

<%
  int i = 10 ;
 %>
 <h1>include.jsp:<%=i%></h1>

主jsp  includedemo.jsp

<html>
 <head>
  <title>include demo</title>
 </head>
 <body>
 <%
  int i = 100 ;
 %>
 <h1>includeDemo04.jsp:<%=i%></h1>
 <jsp:include page="include.jsp"/>   
 <%@include file="include.jsp" %>
 
</body>
 </html>


当用<jsp:include>包含时候,可以得到结果分别为100 和10
 
当用<%@ include> 包含时候,会提示i已经被定义了 Duplicate local variable i
 

2、 <jsp:forward page="">指令  可以包含参数
 
forward1.jsp

<%!int i = 1989;%>
<jsp:forward page="forward2.jsp">
 <jsp:param name="name" value="wsz" />
 <jsp:param name="password" value="<%=i%>" />
</jsp:forward>

forward2.jsp

<h1>name:<%=request.getParameter("name")%></h1>
<h1>password:<%=request.getParameter("password")%></h1>

使用此跳转语句,页面的内容是已经跳转了,但是地址栏没有任何变化,如果没有任何变化,意味着:用户的请求依然没有改变,所以此跳转,属于服务器端跳转

 

posted on   小强斋太  阅读(334)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2012年8月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示