ITEEDU

Struts Gossip: 其它 Bean 标签参考

<bean:cookie>、<bean:header>、<bean:parameter>

这几个标签分别用以取得cookie、表头讯息、请求参数讯息,其用法类似,常用属性如下:
  • id: 程序变量
  • name: cookie、表头或请求参数名称,看您是使用哪一个标签
  • value: 没有取得值时的默认值
  • multiple: 如果有多重值时,用它来取得一个数组

multiple用于取得一个多重值,例如若指定<bean:header>的multiple为 null值,将调用HttpServletRequest.getHeaders()方法,而不是调用 HttpServletRequest.getHeader()方法,下面是个简单的使用范例:
 <bean:parameter id="para_user" name="user"/>
    请求参数user = ${para_user} 
<bean:header id="userAgent" name="User-Agent"/>
    使用者浏览器:${userAgent}
如果请求参数中包括user=caterpillar,则${para_user}就可以显示caterpillar;事实上,您可以使用EL隐含对象来 取得相同的讯息。

<bean:page>

用以取得application、config、request、response等预设对象,并重新命名为自己的变量,例如:
<bean:page id="req" property="request"/> 
${req.remoteAddr}
同样的,您也可以使用EL隐含对象pageContext来取得这些相关讯息。

<bean:define>

定义一个值并存入指定的范围,即相当于执行各作用范围的setAttribute()方法,也可以存入JavaBean中,当用属性如下:
  • id: 变量名
  • value: 存入值
  • scope: 指定范围
  • name: 也可以指定另一个变量存入
  • type: 指定JavaBean型态
  • property: 指定JavaBean属性

使用范例如下:
<bean:define id="hello" value="Hello!World!"/>
${hello} 

<bean:include>

include其它的网页,例如:
<bean:include id="inc1" page="somepage.jsp"/> 
${inc1} 
<bean:include id="inc2"
    href="http://www.caterpillar.onlyfun.net/"/> 
${inc2}

<bean:resource>

读取文字文件内容并显示在网页上,例如:
<bean:resource id="text" name="/message.txt"/> 
${text} 

<bean:struts>

复制Struts内部对象至指定变量中,属性说明如下:
  • id: 变量名
  • formBean: 指定 ActionForm 名称
  • forward: 指定 ActionForward 名称
  • mapping: 指定 ActionMapping 名称

使用如下:
<bean:struts id="form" formBean="userForm"/> 
    ${form.username} 
<%={form.toString()%>