`

struts 1.3.5 标签小结

阅读更多
struts 1.3.5 bean标签小结
 
创建时间:2009年6月23日

1.bean标签 如果您使用的是JSP 2.0以下的版本,Bean标签可以让您不必撰写scriplet就取得Servlet相关的讯息,若您使用的是JSP 2.0,则可以使用Expression Language及其隐含物件来取代一些Bean标签。

(1).<bean:write>是Struts标签中最常用的标签之一,其作用是写出request、 session等物件范围的属性值,例如:

<bean:write name="userName"/>

 

<bean:write>也用于写出指定的JavaBean之属性,例如:

<bean:write name="someBean" property="beanProperty"/>

 

如果取得JavaBean中的属性时需要额外的参数,可以使用propertyName(paramter)这样的方式来取得,例如要透过 JavaBean上的getValue("name")方法来取得值,则可以使用value(name),也就是:

<bean:write name="someBean" property="value(name)"/>

 

<bean:write>的scope属性在写出值时用以指定物件范围,预设是request。

(2).<bean:message>

<bean:message>显示讯息资源档中对应于key的value,例如:

<bean:message key="welcome.title"/>

<bean:message key="welcome.greeting"

               arg1="caterpillar"

               arg2="good morning"/>

arg1、arg2等可以替代讯息档中{0}、{1}等位置的讯息,最多可以有五个

(3).<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()%>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics