<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 = \${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}
\${req.remoteAddr}
同樣的,您也可以使用EL隱含物件pageContext來取得這些相關訊息。
<bean:define>
定義一個值並存入指定的範圍,即相當於執行各作用範圍的setAttribute()方法,也可以存入JavaBean中,當用屬性如下:- id: 變數名
- value: 存入值
- scope: 指定範圍
- name: 也可以指定另一個變數存入
- type: 指定JavaBean型態
- property: 指定JavaBean屬性
使用範例如下:
<bean:define id="hello" value="Hello!World!"/>
\${hello}
\${hello}
<bean:include>
include其它的網頁,例如:<bean:include id="inc1" page="somepage.jsp"/>
\${inc1}
<bean:include id="inc2"
href="https://openhome.cc/"/>
\${inc2}
\${inc1}
<bean:include id="inc2"
href="https://openhome.cc/"/>
\${inc2}
<bean:resource>
讀取文字檔內容並顯示在網頁上,例如:<bean:resource id="text" name="/message.txt"/>
\${text}
\${text}
<bean:struts>
複製Struts內部物件至指定變數中,屬性說明如下:- id: 變數名
- formBean: 指定 ActionForm 名稱
- forward: 指定 ActionForward 名稱
- mapping: 指定 ActionMapping 名稱
使用如下:
<bean:struts id="form" formBean="userForm"/>
\${form.username}
<%={form.toString()%>
\${form.username}
<%={form.toString()%>