jsp语法
指令标识
- page
<%@page [language="java"]
[contentType="mimeType[;charset=characterSet]"|"text/html;charset=encodeType"] //涉及编码问题,建议使用UTF-8,gb2312等
[extends="package.class"]
[import="{package.class|package.*},……"]
[errorPage="relativeURL"]
[isErrorPage="true|false"]
[session="true|false"]
[info="text"]
[buffer="none|8kb|sizekb"]
[autoFlush="true|false"]
[isThreadSafe="true|false"]
%>
- include
include指令的作用是导入一个由file属性所指定文件。这个文件可以是JSP文件、HTML文件或其他文本文件等。导入的文件必须是JSP网页所在计算机中的文件,不能是网络文件,且应是合法的,与当前页面不冲突。采用include指令,可以实现JSP页面的模块化,使JSP的开发和维护变得非常简单。<%@ include file=“welcome.jsp?name=XYZ" %>
- taglib
<%@tagliburi = "URIToTagLibrary" prefix = "tagPrefix"%>属性说明:
uri= “URIToTagLibrary” URI(Uniform Resource Identifier,统一资源标识符)指定标签描述符,该描述符对应一个标签描述文件(*.tld)的映射。tld文件定义了该标签库中各标签的名称,并指定每个标签的处理类。
prefix = “tagPrefix”指定在一个页面中使用由url属性指定的标签库的前缀,形式为prefix:tagname。所保留的前缀为jsp、jspx、java、servlet、sun、sunw。
脚本标识
- jsp表达式
表达式(Expression)当页面被请求时,将计算表达式,并返回计算结果。基本格式:
<%=表达式%>例如:
<%=1+1%>
注意:<%与=之间不能有空格
- 声明标识
在“<%!”和“%>”标记符号之间声明变量、方法和类,变量类型可以是Java语言允许的任何数据类型。
在JSP页面被编译执行的时候,整个页面被编译成一个类,这些变量是JSP页面类的成员变量。在整个页面内有效,并被多个用户共享。任何一个用户操作都会影响其他用户。生命周期直到关闭WEB服务器。
注意:一个声明要以一个“;”号结束
<%@ page contentType="text/html;charset=GBK" %> <%! int number=0; synchronized void countPeople() { number++; } %> <% countPeople(); %> 您是第<%out.print(number);%>个访问本站的客户。
- 脚本程序(代码块)
可以在“<%”和“%>”之间插入Java程序片,这些程序片可以是定义变量、调用方法、表达式计算,且每行语句结束都要加分号。一个JSP页面可以有许多程序片,这些代码块将被JSP服务器按照顺序执行。
在一个代码块中声明的变量是JSP页面的局部变量,只在当前页面中有效。
<%@ page contentType="text/html;charset=GBK" %> <%int i=0; %> <% i++; out.print(i); %>个人访问本站
注释标识
- html注释
<!-- 注释 --> //查看源代码可以看见
- 带有jsp表达式的注释
<!-- <%=count %>--> //查看源代码可见,但只能看到count的值
- 隐藏注释
<% -- 注释 --%>
<% /*定义变量*/ %>
<% //下面输出系统时间 %>
动作标识
<jsp:include>
include动作,允许在请求时间内在当前的JSP文件中动态加载静态或动态的资源,这个资源在page属性中用URL的形式指定。与include指令<%@include%>不同,include动作<jsp:include>是在接受请求时执行,它可以包含动态内容.<jsp: include page = "relativeURL" >
<jsp: param name = "参数名称" value = "参数值" />
……
</jsp: include>
<jsp:forword>
forward动作,用于把请求转发到page属性所指定的另一个页面,而浏览器中看到的地址仍然是原来网页的地址。该标签以下的代码不被执行。若使用了<jsp:param>标签,目标文件须是一个能处理参数的动态文件,可用request.getParameter(“参数名”)来取得参数值。若在当前页的page指令中定义buffer属性的大小,则在转发之前缓冲区将被清空。若目标文件在转发前已经运行并包含数据,则文件的执行将会出错.
<html>
<body>
<jsp:forward page = “forwardfile.jsp”>
<jsp:param name = “book” value=“JSP”/>
<jsp:param name = “author” value="Tommy"/>
</jsp:forward>
</body>
</html>
-
<jsp:param>
param动作主要用来传递参数,此动作不能单独使用,必须与forward、include、plugin动作配合使用。<jsp:param name=“参数名称” value=“值” />
<jsp:usebean>
该指令用来将JavaBean同JSP连接在一起,保证对象在标签中所指定的适当范围内有效。通过使用与被限定对象相关的ID,这个被限定的对象就可以从这个JSP中引用了。<jsp: useBean id = "beanInstanceName"class = "package.class" scope = "page|request|session|application"
</jsp: useBean>
<jsp:setProperty>和
<jsp:getProperty>
用于设置和获得JavaBean的属性。<jsp:setProperty name=“JavaBean的名称” property=“属性名称” value=“属性值” />
<jsp:getProperty name=“JavaBean的名称” property=“属性名称”/>