一:JSP脚本元素:
1:JSP表达式 —— <%= %>
2:代码片段 —— <% %>
3:声名 —— <%! %>
4:注释:显式注释 隐式注释
1:JSP表达式
作用:用来将程序的输出 输出到客户端
格式:<%=变量或者表达式%> 功能与 <% out.print(表达式); %>
例如
<%= new java.util.Date()%>
编译后的源码:
2:JSP代码片段
代码片段可以包含任意量的Java语句、变量、方法或表达式
格式:<% 代码片段 %>
<%
int sum = 0;
for (int i = 0; i < 100 ; i++) {
sum +=i;
}
out.println("<h1>sum = "+sum+"<h1>");
%>
编译后的源码:
在代码中嵌入HTML元素 和表达式
<%
for (int i = 0; i <5 ; i++) {
%>
<h1>你好 潮汕奴仔 <%= i%></h1>
<%
}
%>
编译后的源码:
3: JSP声名(全局)
JSP声名中定义的变量、方法、和类是全局性的
注意声名 中不能使用out.print()系列方法做输出操作
<%!
private int globalNum = 666;
public void getGlobalNum(){
System.out.println(globalNum);
}
%>
编译后的源码:
JSP声名会被编译到java类中 其他的会被生成到_jspService方法中
4:注释:显式注释 隐式注释
<!-- 显式注释 在网页源代码中会显示出来-->
<%-- 隐式注释 不会发送到网页-->
二:JSP指令元素
JSP指令元素是指在JSP文件中包含在<%@ 与%> 之间的部分,用来设置页面的相关信息,在服务器端执行,不产生输出,在整个页面范围内有效,指令元素包括如下
page、include、taglib
1:Page指令用于定义页面的依赖属性,比如脚本语言、引入的Java包、页面的字符编码等
例如页面的字符编码:
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>
2:include分为include指令和include动作
静态包含(include指令)<%@ include file ="" %>
动态包含(include动作)<jsp:include page=""/>
两者的区别体现在翻译的时间段不同,静态包含在编译时将文件合并,而动态包含不会在编译时合并文件,动态包含拼接几个页面 本质还是几个页面
3:taglib指令
将标签库描述符文件导入到jsp页面,并 声名用户使用自定义的标签
语法:<%@ taglib prefix =“tagPrefix” uri ="tigLibURL"或tagDir = “ragDir”%>
prefix :指定标签的前缀
uri :定位标签库描述符的位置
tagDir :指定前缀将被用于标识在WEB—INF/tags目录下的标签文件
三:JSP动作元素
利用JSP动作可以动态的插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码等。
它以jsp作为前缀
jsp:include 在请求页面时包含一个文件
jsp:useBean 查找或实例化一个JavaBean
jsp:setProperty 设置JavaBean的属性
jsp:getProperty 及那个JavaBean的属性插入输出
jsp:forword 将请求者转发到新页面
有的动作元素需要两个属性:id属性和scope属性
id属性是动作元素的唯一标识 可以通过PageContext来调用
scope属性用于识别动作元素的生命周期 可能的四个值:page、request、session、application