JSP由两部分组成:
固定模板数据(jsp容器不处理的部分,如:html,css,js.....)
元素数据(必须经过jsp容器处理的数据)
jsp页面的注释:
<!-- 客户端可见 html注释 -->
<%-- 客户端不可见 jsp注释 --%>
主要说明元素数据:
三个脚本元素:
声明元素:
<%! int i=0; %>
表达式元素
<%= getName() %>
Scriptlets
• <% 合乎JAVA标准语法的程序片断 %>
三个指令元素:
page: 页面属性指令
include:包含指令
taglib: 自定义标签指令
Page指令:设定整个JSP网页的属性和相关功能
<%@ page attri1=“ ” attri2=“ ” .... %>
Attribute可选值:
- import =“ ” 指明该JSP可以使用那些JAVA API
- session=“true/false” 指明该JSP是否可以用session对象(默认可以)
- pageEncoding=“ ” 指明该JSP网页的编码方式
- contentType =“ ” 表示MIME类型和JSP的编码方式
- buffer=”none/size kb” 设置缓冲区,默认8KB
- autoFlush=“true/false” 是否自动清除楚缓冲
- langugae=“ ” 指明小脚本片断使用的语言 c,c++,per.默认 java
- extends =“ ” 指明生成的servlet继承那个父类
• errorPage=“ ” 异常后的重定向UTL(一般为运行时错误)
• ……
Include指令:在JSP编译时插入一个包含文本或代码的文件,这个 包含过程是静态的。(很少用,动态包含更好用)
<%@include file=“relativeURLspec” %>
1. 包含的文件类型:jsp,html,文本,java程序段。
2.relativeURLspec值不能是变量URL:<%@include file=“<%= URL%>” %>(x)
3.relativeURLspec后不能加任何参数。
4. relativeURLspec所指的路径必须是相对于此JSP的网页的路径。
5. 文件中要避免有<%@ include %>
Taglib指令:新指令,让用户自定义新的标签。
<%@taglib uri=“rul” prefix=“tagPreFix”%>
p 例子:
<%@taglib prefix=“mytag” uri=“/supertags/”%>
<mytag:doMagic>
…..
</mytag:doMagic>
Struts 或 jstl 中定义的新标签,如要在JSP中使用,就的先声明
三个动作元素:
<jsp:include>元素允许你包含动态和静态文件。
指令能自行判断被包含的文件是动态还是静态文件。
若是静态文件,内容直接加到JSP网页中
若是动态文件,被包含的文件也会被JSP引擎编译执行。
语法格式:
<jsp:include page={“urlSpec” | “ <%=urlExpress%>”}” flush=“true | false” />
或
<jsp:include page={“urlSpec” | “<%=urlExpress%>”}” flush=“true | false” >
<jsp:param name=“pn” value=“{ pv | <%=expression %>}”/>
</jsp:include>
page:代表一个路径,可是直接路径,也可是一个表达式运算出来的路径值
flush:是否自动清楚缓冲区,默认为 false;
jsp:param:为该页面可能需要的初始化参数值。
<jsp:forward>操作将客户端所发出的请求从当前页面转交到另一个HTML 或JSP页面。(相当于转发)
<jsp:forward>标签之后的程序将不会在执行。
语法格式:
<jsp:forward page={“ relativeURL ” | “ <%=urlExpress%> ”}” />
或
<jsp: forward page={“ relativeURL ” | “ <%=urlExpress%> ”}” >
<jsp:param name=“pn” value=“{ pv | <%=expression %>}”/>
</jsp: forward >
page :可以是一个相对路径,即你所要重新导向的网页位置,或是表达式能运算出来的相对路径
param:中传递的参数值所表达的文件必须也是一个能够得到这些请求参数的动态文件,如:.jsp , .cgi,php, .asp等
<jsp:param>用来提供key/value值,常与<jsp:include><jsp:forward>和<jsp:plugin>一起使用。
<jsp:param name=“pname” value=“pvalue”/>