Bean Tags
Struts-bean 标签库中的JSP自定义标签的主要作用是用于访问Bean和Bean的属性,以及基于这些访问而定义新的Bean,使得页面可以通过脚本变量和页面内的属性来访问这些Bean。
Cookie
Cookie标签的作用是获取指定的Cookie的属性值并将其定义一个脚本变量。
当该标签中出现问题时(比如设定的cookie变量没有找到,并且value属性没有被设置),将会抛出一个请求期的异常。
该标签不可有标签体内容。
该标签有四个属性。
属性
描述
Id
指定脚本变量的名字(同样也是页面范围内的属性名),该变量或属性表示了该请求的Cookie的值
(必须)
multiple
如果该属性的值都被设定为任何值时,那么任何匹配的cookie都将被集成到一个类型为javax.servlet.http.Cookie []的Bean中。如果该属性没有设定,那么第一个匹配的cookie将会被获取,存储到类型为javax.servlet.http.Cookie的Bean中。
(可选)
name
指定用于获取属性值的cookie的名字
(必须)
value
缺省的属性值,如果没有匹配的cookie时,该属性将会被存储到一个类型为javax.servlet.http.Cookie的Bean中。
(可选)
Define
Define标签的作用是获取一个由指定的Bean的属性并把它定义为一个Bean,并通过脚本变量将其展现该Bean,该Bean将被存储于指定的作用域范围内。
当该标签中出现问题时(比如指定的Bean没有找到,并且value属性没有被设置),将会抛出一个请求期的异常。
该标签可以含有JSP标签体内容。
该标签有七个属性,
属性
描述
Id
指定展现该Bean脚本变量的名字,该变量在指定的作用域内有效,可以用于获取相应的属性值。
(必须)
name
指定获取属性值的Bean的名字。该属性是必须设置的,除非你设置了value属性
(可选)
property
指定获取的Bean中的属性名,Bean的名字由name设定。如果该属性没有设置,那么脚本变量的值通过id属性从通过name属性得到的Bean相应的属性中获得。
(可选)
scope
指定查询的用于获取属性的Bean的作用域,如果没有设定,将会按照如下顺序查找page, request, session, 和application。
(可选)
toScope
指定脚本变量作用域,缺省值是page.
(可选)
type
设定以id属性名而展现出的的类型的完整的类名。缺省情况:如果设定了value属性,为java.lang.String,其他情况下是java.lang.Object。
(可选)
value
java.lang.String类型的值,设定了定义的Bean的值。该属性在没有设定name属性时,是必须设定的。
(可选)
Head
Head标签的作用是Cookie标签相似,不同之出仅仅在于Head标签用于从head中获取数据,而不是从cookie中获取。
当该标签中出现问题时(比如指定的head属性没有找到,并且value属性没有被设置),将会抛出一个请求期的异常。
该标签不可含有标签体内容。
该标签有四个属性。
属性
描述
Id
指定脚本变量的名字(同样也是页面范围内的属性名),该变量或属性表示了该请求的head的值
(必须)
multiple
如果该属性的值都被设定为任何值时候,那么将会调用HttpServletRequest.getHeaders ()方法,并将返回值包装为String[]类型的Bean。如果没有设定或设定为null时候,将调用HttpServletRequest.getHeaders ()方法,返回值将被包装为类型为String的Bean
(可选)
Name
指定HTTP head属性的名字
(必须)
Value
缺省的属性值,如果没有匹配的head时,该属性将会被使用。
(可选)
Include
Include标签的作用是引入Web应用资源并获取结果,该标签使得响应的数据作为String类型的对象。该标签的作用和<jsp:include>相当类似,除了在该Tag中响应数据是被存储与一个页面范围内的对象属性中。
该标签支持三种类型的资源组件:forward、href和page。
当该标签中出现问题时(比如设定的资源组件不存在),将会抛出一个请求期的异常。
该标签不可含有标签体内容。
该标签有七个属性。
属性
描述
Id
指定作用域为page的脚本变量,该变量用于访问Web应用的资源的值。
(必须)
anchor
设定HTML anchor标签,该标签将会被加入到最后生成的URL中。设定时候不需要在设定字符串中包含anchor中的#字符。
(可选)
forward
用于查找全局的ActionForward,通过对配置的查找,最终得到需引入的资源的上下文相关的实际的URL。
(可选)
href
绝对的需引入的资源的URL地址。
(可选)
Name
设定引入资源的应用相关的URL位置。
新的Struts1.1后版本中该属性不被支持,使用page属性代替。
(可选)
page
设定引入资源的应用相关的URL位置。
(可选)
transaction
如果设定为true,在可能的情况下,将会导致事务标签包含于最终的URL中。缺省值为false
(可选)
Message
Message标签用于从预定义的资源中获取相应关键字的对应字符串属性。它同样具有能力处理对以占位符表示的参数的能力。该标签用于支持应用的国际化。
当该标签中出现问题时(比如应用没有绑定资源文件,或者指定的关键字在资源文件中查找失败),将会抛出一个请求期的异常
该标签不可含有标签体内容。
该标签有十一个属性
属性
Description
arg0
对字符串中存在第一个参数时,设定参数值
(可选)
arg1
对字符串中存在第二个参数时,设定参数值
(可选)
arg2
对字符串中存在第三个参数时,设定参数值
(可选)
arg3
对字符串中存在第四个参数时,设定参数值
(可选)
arg4
对字符串中存在第五个参数时,设定参数值
(可选)
bundle
设定存储包含消息字符串的MessageResources对象的Bean的名字,该Bean的作用域为Application,该Bean对应于struts-config.xml文件中的一个<message-resource> 元素。该属性的缺省值是Action.MESSAGES_KEY。
(可选)
key
消息的关键字,Struts利用该关键字在预定义的资源中查找相应的消息,该关键字必须在资源中出现,否则将会抛出异常。
如果该属性没有设定,关键字将通过name和property属性生成。
(可选)
locale
Session作用域下包含当前的Locale对象的Bean的名字,然后该属性用于生成于用户区域设置有关的消息。
缺省值为Action.LOCALE_KEY
(可选)
name
设定用于获取关键字的Bean的名字。如果property属性没有被设置,那么该Bean本身的值将会被用做关键字。
(可选)
property
设定用于获取关键字的Bean的属性的名字。
(可选)
scope
设定用于查找获取关键字的Bean的作用域。
如果没有设定,将会按如下的顺序查找Bean:page、request、session、application
(可选)
Page