一、JSP基本语法
JSP页面的组成元素:HTML元素(静态部分) + JSP元素(动态部分)
JSP元素:
①脚本元素:
a.全局声明 <%!声明语句1;声明语句2;...%>
声明的方法或变量为页面共享级
b.表达式 <%=变量或有返回值的方法名()%>
"<"、"%"、"="三个字符间无空格,变量或方法名之后无";
c.脚本程序段 <%Java代码段%>
脚本程序段是指用Java语言编写的嵌在“<%...%>”标记里的程序段,可以进行变量定义、赋值和方法调用。
②指令元素
a.page指令
使用了language属性,定义了服务器的脚本语言类型
使用了import属性,指定JSP程序需要导入的类与接口
使用了pageEncoding属性,声明生成的页面的字符编码。
(charset:ISO-8859-1 英文(default值)、gb2312 中文、utf-8 中文)
eg. <%@page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="java.util.*,java.sql.*"%> <=>
<%@page import="java.util.*"%> <%@page import="java.sql.*"%>
b.include指令: <%@ include file="文件名.jsp"%>
通过file属性将某个JSP文档包含到当前页面中
c.引入标签库指令taglib
格式:<%@ taglib uri="URI" prefix="tagPrefix"%>
核心标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
国际化标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
XML标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="X"%>
SQL标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
函数标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/function" prefix="fn"%>
③动作元素
a.包含文件 动作标签<jsp:include>
用于在当前JSP页面中嵌入另一个HTML文件或者JSP文件:<jsp:include page="页面" flush=true/>
(flush=true表示清除保存在缓冲区中的数据)
include动作和include指令的区别
●include动作标签可以向被包含文件传递参数,include指令不能。
●include指令处理发生在JSP页面的转换期,是将被包含文件的内容包含到include指令所在位置,生成servlet源文件,然后编译,编译后的class文件不再和被包含文件有关系。
●include动作处理发生在JSP的请求处理期,被编译的class文件中并不包含被包含文件的代码,只是包含了对包含文件的请求动作,最后包含的只是被包含文件的执行结果。
b.请求转发 动作标签<jsp:forward>
用于转发请求:<jsp:forward page="页面">
forward动作和include动作的区别:
●include动作是包含进来被包含文件的执行结果,并且随后将继续执行当前JSP页面中include动作后面的代码。
●forward动作则是跳转到另一资源文件,并且终止当前JSP页面的执行,当前JSP页面中forward动作后面的代码也不再执行。
c.<jsp:param>
以“key-value形式为其他动作元素提供参数”,
一般和<jsp:include><jsp:forward><jsp:plugin>一起用。
格式:<jsp:param name="keyName" value="keyValue" />
eg. 将动作标签<jsp:param>嵌入在动作标签<jsp:include>中,起传递参数的辅助作用,在接收参数的页面(即被包含页面)里,需要使用request.getParameter()方法。
//test.jsp
<body>获取用户名:
<%=request.getParameter("username")%>
</body>
//example1.jsp
<body>
<jsp:include page="test.jsp">
<jsp:param name="username" value="dta" />
</jsp:include>
</body>
④注释元素
a.HTML注释<!--注释-->
b.JSP注释<%--注释--%>
c.Java注释
在脚本段可以使用Java语言本身的注释机制
<%//单行注释%>
<%/*多行注释*/%>