JSP 语法基础知识(二)
1. 指令<%@ %>
(1)page 指令
通过设置内部的多个属性来定义整个页面的属性
语法:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>
page 指令常用属性 :
例如:<%@ page language="java" contentType="text/html;charset=GBK"%>
(2) include 指令
包含操作可以将一些重复的代码包含进来继续使用。此种包含称作“静态包含”。
语法:<%@include file="要包含的文件路径"%>
例如:
<h1>静态包含操作</h1>
<%@ include file=include1.jsp"%>
<jsp:include/>
2.JSP 标准动作
(1)<jsp:include/>
可以把其他文件包含进来,此种包含为动态包含
语法:
不传递参数:<jsp:include page="{要包含的文件路径}"/>
传递参数
<jsp:include page="{要包含的文件路径}">
<jsp:param name = "参数名称 1" value = "参数内容 1"/>
<jsp:param name = "参数名称 2" value = "参数内容 2"/>
...可以向被包含页面中传递多个参数
</jsp:include>
(2)静态包含与动态包含区别
静态包含:
include1.jsp页面
<span style="font-size:18px;"><% int x = 10 ; %> <h1>被包含页面:include1.jsp--<%=x%></h1></span>
include2.jsp页面
<span style="font-size:18px;"><%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>静态包含</title></head> <body> <% int x = 100 ; // 变量重复 %> <h1>include2.jsp -- <%=x%></h1> <%@include file="include1.jsp"%> </body> </html></span>程序运行时出现 500 的 HTTP 状态码,属于服务器错误,x 被重复定义了。在观察 JSP
引擎编译得到的 Java 文件:只生成了一个 java 文件。所以,静态包含采用先包含后处
理的形式。
动态包含:
<span style="font-size:18px;"><%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>动态包含</title></head> <body> <% int x = 100 ; // 变量重复 %> <h1>include3.jsp -- <%=x%></h1> <jsp:include page="include1.jsp"/> </body> </html></span>程序运行没有错误,动态包含如果包含的是动态页面,采用先处理后包含形式。
3. <jsp:forward/>
从当前页面跳转到指定页面,跳转操作属于服务器端跳转,跳转之后的页面路径不
改变
语法:
不传递参数
<jsp:forward page = "要包含的文件路径">
传递参数
<jsp:forward page = "要包含的文件路径">
<jsp:param name = "参数名称" value = "参数内容"/>
...可以向被包含页面中传递多个参数
</jsp:forward>
例如:
forward2.jsp 为跳转后的页面
<span style="font-size:18px;"><%@ page contentType="text/html" pageEncoding="GBK"%> <h1>这是跳转之后的页面</h1> <h2>参数一:<%=request.getParameter("name")%></h2> <h2>参数二:<%=request.getParameter("info")%></h2></span>
forward1.jsp 发生跳转的页面
<pre name="code" class="html"><span style="font-size:18px;"><html> <head><title>跳转动作</title></head> <body> <% String username = "lcx" ; %> <jsp:forward page="forward2.jsp"> <jsp:param name="name" value="<%=username%>"/> <jsp:param name="info" value="teacher"/> </jsp:forward> </body> </html></span>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。