首页 > 代码库 > JSP 简明教程(二):JSP基本语法
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=http://www.mamicode.com/"Value"/>>
动态创建元素的代码如下:<jsp:element name="employee"> <jsp:attribute name="name">张三</jsp:attribute> <jsp:body>张三是销售部经理</jsp:body> </jsp:element>该代码会产生:
<employee name="张三">张三是销售部经理</employee>作者:白色咖啡
博客地址:http://blog.csdn.net/caipeichao2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。