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=“属性名称”/>