一、jsp页面组成
在一个JSP页面中,可以包括指令标识、HTML代码、javaScript代码、嵌入的Java代码、注释和JSP动作动作标识等内容。
例如:
<%@ page language="java" contentType="text/html;charset=GB18030" pageEncoding="GB18030"%><%@ page import="java.util.Date" %><%@ page import="java.text.SimpleDateFormat" %><html><head><meta http-equiv="Content-Type" content="text/html;charset=GB18030"><title>我的第一个jsp页面</title></head><body><% Date date=new Date(); SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String today=df.format(date);%>当前时间:<%=today %> <!-- 输出系统时间 --></body></html>二、指令标识指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中,对客户端浏览器是不可见的,JSP指令标识的语法格式:<%@ 指令名 属性1="属性值1" 属性2="属性2的值" ... %>
说明:
1.指令名:用于指定指令的名称,JSP包含3条指令:page,include,taglib
2.各属性间可用逗号或空格分隔
3. <%@ %>是完整的标记,不能添加空格
2.1 page指令JSP页面中最常用的命令,用于定义整个JSP页面的相关属性,这些属性在JSP被服务器解析成Servlet时会转换为响应的Java程序代码。page指令的语法格式如下:
<%@ page atr1="value1" att2="value2" ... %>
page指令包含15个属性:language,extends,import,...
2.2 include指令
通过该指令可以在一个JSP页面中包含另一个JSP页面,不过该指令是静态包含(被包含文件中的所有内容会被原样包含到该JSP页面中,所以在被包含文件和包含文件中不能含有相同名称的变量),语法格式如下:
<%@ include file="path"%>只有一个file属性,指定要包含的文件路径。
例如:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>使用文件包含include指令</title> </head> <body style="margin:0px;"> <%@ include file="copyright.jsp" %> </body></html>2.3 taglib指令
声明该页面中所使用的标签库,同时引用标签库,并指定标签的前缀。在页面中引用标签库后,就可以通过前缀来引用标签库中的标签。指令语法格式如下:
<%@ taglib PRefix="tagPrefix" url="tagURL" %>
prefix:指定标签的前缀
url:指定标签库文件的存放位置
三、脚本标识
脚本标识能够很方便、灵活的生成页面中的动态内容,包括3部分:JSP表达式,声明标识和脚本程序。
3.1 JSP表达式
用于向页面中输出信息,其语法格式为:
<%= 表达式%>
说明:
1.%和=之间不可以有空格,=与其后边的表达式之间可以有空格
2.表达式可以是任何java语言的完整表达式。该表达式的最终运算结果将被转换为字符串。
例如:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>JSP表达式</title> </head> <body> <%String manager="mr"; %> 管理员:<%=manager %> <%="管理员:"+manager %> <%=5+6 %> <%String url="my.jpg"; %> <img src="imag/<%=url %>"> </body></html>3.2 声明标识
用于定义全局的变量或方法。语法格式如下:
<%! 声明变量或方法的代码 %>
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>JSP声明标识</title> </head> <body> <%! int number=0; int count(){ number++; return number; } %> 刷新次数:<%=count() %> </body></html>3.3 代码片段
在JSP页面中嵌入的Java代码或是脚本代码。语法格式:
<% Java代码或是脚本代码 %>
说明:
声明标识声明周期:从创建开始到服务器关闭结束;
代码片段声明周期:创建开始到页面关闭后;二者有效范围均为当前JSP页面
例如:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>JSP代码片段</title> </head> <body> <% String str=""; for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ str+=j+"*"+i+"="+j*i; str+=" "; } str+="<br>"; } %> <table > <tr> <td height="30" align="center">九九乘法表</td> </tr> <tr> <td style="padding:3pt"> <%=str %> </td> </tr> </table> </body></html>3.4 JSP注释
1. 单行注释://
2. 多号注释:/* */
3.提示文档注释:/** */
4. 隐藏注释:<%-- 注释内容 --%>
5. 动态注释:<!-- 动态注释 -->
3.5 动作标识
1. 包含文件标识:<jsp:include>
被包含的文件可以是动态文件,也可以是静态文件。语法格式如下:
<jsp:include page="url" flush="false|true" />
或:<jsp:include page="url" flush="false|true" >
子动作标识<jsp:param></jsp:include>2.请求转发标识:<jsp:forward>
将请求转发到其他web资源。语法格式如下:
<jsp:forward page="url" />
或:
<jsp:forward page="url" >
子动作标识<jsp:param>
</jsp:forward>例如:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>中转页</title></head><body><jsp:forward page="login.jsp" /></body></html>3. 传递参数标识<jsp:param>
可作为其它标识的字标识,用于为其他标识传递参数。语法格式为:
<jsp:param name="参数名" value="参数值" />
如下列代码实现在请求转发到modify.jsp页面的同时,传递了参数userId,其参数值为7:
<jsp:forward page="modify.jsp"> <jsp:param name="userId" value="7" /></jsp:forward>
新闻热点
疑难解答