JSP动作

JSP动作使用XML语法结构来控制Servlet引擎的行为。您可以动态地插入文件,重用JavaBeans组件,用户转发到另一个页面,或生成HTML的Java插件。

只有一个用于操作元素语法,因为它符合XML标准:

<jsp:action_name attribute="value" />

动作要素基本上都是预定义的功能,而且已有下面的JSP操作:

语法 目的
jsp:include Includes a file at the time the page is requested
jsp:useBean Finds or instantiates a JavaBean
jsp:setProperty Sets the property of a JavaBean
jsp:getProperty Inserts the property of a JavaBean into the output
jsp:forward Forwards the requester to a new page
jsp:plugin Generates browser-specific code that makes an OBJECT or EMBED tag for the Java plugin
jsp:element Defines XML elements dynamically.
jsp:attribute Defines dynamically defined XML element's attribute.
jsp:body Defines dynamically defined XML element's body.
jsp:text Use to write template text in JSP pages and documents.

常见的属性:

有两个属性是所有动作要素:id属性和scope属性。

  • Id attribute: id属性唯一标识该动作元素,并允许操作要在JSP页面内引用。如果Action创建一个对象的id值可以通过使用隐式对象引用它的实例的PageContext

  • Scope attribute: 此属性标识的Action元素的生命周期。 id属性和范围的属性有直接关系,如范围属性确定与该ID相关联的对象的寿命。 scope属性有四个可能的值: (a) page, (b)request, (c)session, 和(d) application.

<jsp:include> 动作

此动作可让您将文件插入正在生成的页面。其语法如下所示:

<jsp:include page="relative URL" flush="true" />

不同于include指令,它会插入这个文件当时的JSP页面转换成servlet,这个动作插入文件在页面被请求时。

以下是相关联的属性的列表,包括动作:

属性 描述
page The relative URL of the page to be included.
flush The boolean attribute determines whether the included resource has its buffer flushed before it is included.

例子:

让我们定义下面的两个文件(一个)date.jps及(b)main.jsp中,如下所示:

以下是date.jsp文件的内容:

<p> Today's date: <%= (new java.util.Date()).toLocaleString()%></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 例子

Today's date: 12-Sep-2013 14:54:22

<jsp:useBean> 动作

useBean动作是相当具有通用性。它利用id和scope变量的现有对象首先搜索。如果没有找到一个对象,然后它试图创建指定的对象。

加载bean最简单的方法如下: