JSP 动作元素
与JSP指令元素不同的是,JSP动作元素在请求处理阶段(属于四个阶段?)起作用。JSP动作元素是用XML语法(?)写成的。
利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。
动作元素只有一种语法,它符合XML标准:
<jsp:action_name attribute="value" />
动作元素基本上都是预定义的函数,JSP规范定义了一系列的标准动作,它用JSP作为前缀,可用的标准动作元素如下:(什么是JavaBean?)
语法 | 描述 |
---|---|
jsp:include | 在页面被请求的时候引入一个文件。 |
jsp:useBean | 寻找或者实例化一个JavaBean。 |
jsp:setProperty | 设置JavaBean的属性。 |
jsp:getProperty | 输出某个JavaBean的属性。 |
jsp:forward | 把请求转到一个新的页面。 |
jsp:plugin | 根据浏览器类型为Java插件生成OBJECT或EMBED标记。 |
jsp:element | 定义动态XML元素 |
jsp:attribute | 设置动态定义的XML元素属性。 |
jsp:body | 设置动态定义的XML元素内容。 |
jsp:text | 在JSP页面和文档中使用写入文本的模板 |
常见的属性
所有的动作要素都有两个属性:id属性和scope属性。
- id属性:
id属性是动作元素的唯一标识,可以在JSP页面中引用。动作元素创建的id值可以通过PageContext来调用。
- scope属性:
该属性用于识别动作元素的生命周期。 id属性和scope属性有直接关系,scope属性定义了相关联id对象的寿命。scope属性有四个可能的值: (a) page, (b)request, (c)session, 和 (d) application。
1.<jsp:include>动作元素
<jsp:include>动作元素用来包含静态和动态的文件。该动作把指定文件插入正在生成的页面。语法格式如下:
<jsp:include page="relative URL" flush="true" />
前面已经介绍过include指令,它是在JSP文件被转换成Servlet(?具体的原理流程,原因没有了解?)的时候引入文件,
而这里的jsp:include动作不同,插入文件的时间是在页面被请求的时候。
以下是include动作相关的属性列表。
属性 | 描述 |
---|---|
page | 包含在页面中的相对URL地址。 |
flush | 布尔属性,定义在包含资源前是否刷新缓存区。 |
实例
以下我们定义了两个文件date.jsp和main.jsp,代码如下所示:
date.jsp文件代码:
<p>
Today's date: <%= (new java.util.Date()).toLocaleString()%> //被include page的页面只有要添加的内容,没有html外标签
</p>
main.jsp文件代码:
<html>
<head>
<title>The include Action Example</title>
</head>
<body>
<center>
<h2>The include action Example</h2>
<jsp:include page="date.jsp" flush="true" />
</center> //居中符号 也是成对出现
</body>
</html>
现在将以上两个文件放在服务器的根目录下,访问main.jsp文件。显示结果如下:
The include action Example
Today's date: 12-Sep-2013 14:54:22
孜孜不倦,必能求索;风尘仆仆,终有归途。