<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内部对象至指定变量中,属性说明如下:
使用如下:
<bean:struts id="form" formBean="userForm"/>
${form.username}
<%={form.toString()%>