其它 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="https://openhome.cc/"/>
\${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()%>