JSP语法
来源:互联网 发布:linux查看登陆密码 编辑:程序博客网 时间:2024/04/28 08:57
JSP语法分为三种不同的类型
编译器指令(DIRECTIVE) 例如: <%@ page import=“java.io.*” %>
脚本语法(SCRIPTING)
动作语法(ACTION) 例如: <jsp:forward>,<jsp:getProperty>,<jsp:include>
编译器指令包括“包含指令”, “页指令”和“taglib指令”
•它们包含在“<%@ %>”卷标里。
•两个主要的指令是page与include。
脚本语法包括
–“HTML注释”:<!— comments -->
–“隐藏注释”:<%-- comments --%>
–“声明”
–“表达式”
–“脚本段”
动作语法包括<jsp:forward>,<jsp:include>,<jsp:getProperty>,<jsp:setProperty>和<jsp:useBean>。
编译器指令:
包含指令
include指令:向当前页中插入一个静态文件的内容。
•JSP 语法格式如下:
•<%@ include file="relativeURL" %> 或
•<%@ include file="相对位置" %>
page指令:
•“Page”指令用于定义JSP文件中的全局属性。
JSP 语法格式如下:
<%@ page
[ language="java" ]
[ extends="package.class" ]
[import="{package.class | package.*},..." ]
[ session="true | false" ]
[ isThreadSafe="true | false" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType
[;charset=characterSet]" | "text/html
; charset=ISO-8859-1" ]
[ isErrorPage="true | false" ]
%>
属性:
1.language="java"
声明脚本语言的种类,目前只能用"java" 。
2.import="{package.class | package.* },..."
需要导入的Java包的列表,这些包作用于程序段,表达式,以及声明。下面的包在JSP编译时已经导入了,所以就不需要再指明了:
java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*
3.errorPage="relativeURL"
设置处理异常事件的JSP文件。
4.isErrorPage="true | false"
设置此页是否为出错页,如果被设置为true,你就能使用exception对象
•“<%@ page %>”指令作用于整个JSP页面,同样包括静态的包含文件。但是“<%@ page %>”指令不能作用于动态的包含文件,比如 “<jsp:include>”。
•可以在一个页面中用上多个“<%@ page %>”指令,但是其中的属性只能用一次,不过也有例外,那就是import属性。因为import属性和Java中的import语句类似(参照Java Language,import语句引入的是Java语言中的类),所以此属性就能用多次。
•无论把“<%@ page %>”指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及好的编程习惯,最好还是把它放在JSP文件的顶部。
taglib指令:
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>
•用于引入定制标签库
注意他的属性prefix,prefix="tagPrefix"
–表示标签在JSP中的名称。
–在自定义标签之前的前缀,比如,在<public:loop>中的public,如果这里不写public,那么这就是不合法的。请不要用jsp, jspx, java, javax, servlet, sun, 和sunw做为你的前缀,这些已被Sun公司声明保留。
脚本语法:
注释:
JSP 语法格式如下:
•<!-- comment [ <%= expression %> ] --> 或
•<!-- 注释 [<%= 表达式 %> ] -->
•这种注释发送到客户端,但不直接显示,在源代码中可以查看到。
声明:
•<%! declaration; [ declaration; ] ... %> 或
•<%! 声明; [声明; ] ... %>
表达式:
用于在页面上输出信息,语法格式如下:
•<%= expression %> 或
•<%= 表达式 %>
脚本段:
•<% code fragment %> 或
•<% 代码 %>
动作语法:
<jsp:forward>
<jsp:forward>”标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。“<jsp:forward>”标签以后的代码,将不能执行。这点可以从他编译后的servlet源代码中可以看出来
<jsp:include>
包含一个静态或动态文件.
• JSP 语法格式如下:
1.<jsp:include page="{relativeURL | <%=expression%>}" flush="true" />
2.<jsp:include page="{relativeURL | <%=expression %>}" flush="true" >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />
[<jsp:param …/>]
</jsp:include>
(“[<jsp:param … />]”指可以有多个“<jsp:param/>”标记。)
在这里注意的几点就是:
JSP语法:•<!-- comment [ <%= expression %> ] -->注释,注意里面的是表达式的时候,他会先把表达式里面的东西计算出来,然后再写进去,会发送到客户端.并且注意表达式里是没有分号的.
注意声明的语法和脚本段的不一样,如果声明的话是作为jsp转换为servlet类时的成员变量,而脚本段的东西都是在一个service方法里的.
JSP 声明的格式:<%! int a = 3;%>,脚本段的形式:<% int b = 3;%>,当服务器将JSP 转换为Servlet 时,会将JSP 中的声明转换为类的成员变量,而将脚本段转换为方法中的局部变量,Servlet是单实例的,这样成员变量的值就只有一个,每个用户都会访问到它,而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。
<jsp:include>指令他还可以给另外一个页面传送参数,而<%@ include %>是不可以的.<jsp:include>之后编译出来的是两个class文件,即是两个类,而<%@ include %>编译出来之后的是一个文件,一个类
表达式等价于out.println与脚本段.out.println这里的换行是在源代码里面的换行,即你发送到客户端之后,点查看源代码里的那个源代码.
- jsp语法
- JSP语法
- JSP语法
- JSP语法
- jsp语法
- Jsp语法
- JSP语法
- jsp语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- JSP语法
- jsp语法
- JSP语法
- JSP语法
- jsp语法
- Asp用FSO读写文件
- ubuntu 用户自动登录
- ASP中最常用的22个FSO文件操作函数12-22
- ASP中最常用的22个FSO文件操作函数1-11
- tomcat,jsp,servlet,javabean
- JSP语法
- 如何增加积分啊
- Matlab gui 怎样让text文本框显示多行
- 程序人生
- 解决BLOB/TEXT column can't have a default value query问题
- JSP内置对象
- getOutputStream() has already been called for this response
- cellfun的用法
- 每天一个设计模式之Decorator