JSP 简明教程(二):JSP基本语法
基本语法
JSP只是在html的基础上嵌入一些动态的元素。下面是HelloWorld代码:
<html> <% out.println("hello world"); %> </html>
以上代码中的<% %>就是动态元素。JSP中所有的特殊语法如下:
<% %>:用于表示一段Java代码。这段代码在编译之后会放在_jspService()方法中。
<%! %>:多了一个叹号,也用于表示一段Java代码,但是这段代码编译之后会放在JSP生成的Servlet类中,因此可以用它定义方法或者成员变量。
<%@ %>:多了一个@符号,是JSP指令,用于对JSP文件进行设置。
<%= %>:多了一个等号,相当于out.println()。
<%-- --%>:这是注释。不会在返回结果中显示。
JSP指令。可以设置的指令有三种:
<%@ page %> <%@ include %> <%@ taglib %>
page指令可以设置的属性如下:
- buffer 设置out对象缓冲区的大小。
- autoFlush 控制out对象的缓冲区。
- contentType 指定当前JSP页面的MIME类型和字符编码
- errorPage 指定当JSP页面发生异常时要转向的页面
- isErrorPage 指定当前JSP页面是否可以作为另外页面的错误页面。错误页面中可以直接使用exception隐含变量获取错误信息。
- extends 指定Servlet从哪个类继承
- import 导入要使用的包
- info 定义JSP页面的描述信息
- isThreadSafe 指定JSP页面是否线程安全
- language 指定编程语言,默认为Java
- session 指定JSP页面是否使用session
- isELIgnored 指定是否指定EL表达式。
- isScriptingEnabled 指定脚本元素是否能被使用。如果为false,那么JSP中如果出现<% %>就会发生错误。
include指令用于包含一个文件。语法为<%@ include file="xxx"%>。在编译的时候起作用。
taglib指令用于载入一个自定义标签库。语法为<%@ taglib uri="uri" prefix="xx" %>
动作元素
- <jsp:scriptlet> 和 <% %> 是等价的。
- <jsp:expression> 和 <%= %> 是等价的。
- <jsp:include> 包含文件,在执行的过程中起作用。
- <jsp:useBean> 初始化一个 JavaBean 组件
- <jsp:setProperty> 给 JavaBean 设置属性
- <jsp:getProperty>
- <jsp:forward> 向另外一个 JSP 文件传递请求。
- <jsp:plugin> 在生成的页面中包含 Applet 和 JavaBean 对象。在执行的过程中会被替换成 embed 或者 object 标签。
- <jsp:element> 动态创建 XML 元素。
- <jsp:attribute> 定义动态创建的 XML 元素属性
- <jsp:body> 动态创建 XML 元素的主体。
- <jsp:text> 与 CDATA 连用,显示 CDATA 中的内容,但不执行 CDATA中的标签动作。比如以下代码:
<jsp:text><![CDATA[ <hello></hello> <jsp:world/> ]]></jsp:text>
最后输出的结果是:
<hello></hello> <jsp:world/>
里面的 <jsp:world/> 并没有被执行。
所有的动作元素都包含id和scope属性。id用于通过PageContext获取动作元素,scope用于定义对象的寿命。
useBean、setProperty、getProperty的用法。useBean的作用是引入一个JavaBean,需要提供id和class两个参数。id就是变量的名称,class就是变量的类型。setProperty可以放在useBean的标签里面,表示初始化的时候调用。如果沿用现有的JavaBean,那么标签里面的语句是不会调用的。
<jsp:useBean id="test" class="test.TestBean"> <jsp:setProperty name="test" property="name" value="Value"/> </jsp>
动态创建元素的代码如下:
<jsp:element name="employee"> <jsp:attribute name="name">张三</jsp:attribute> <jsp:body>张三是销售部经理</jsp:body> </jsp:element>
该代码会产生:
<employee name="张三">张三是销售部经理</employee>
作者:白色咖啡
博客地址:http://blog.csdn.net/caipeichao2
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。