條件標籤
這幾個標籤在使用上是類似的,都是用於根據條件比較cookie、header、parameter或bean的值或字串,從字面意思應該都可以知道每一 個標籤的作用常用屬性如下:
一些例子如下: <logic:match
cookie="valid_user" value="caterpillar"> caterpillar! Welcome! </logic:match> <logic:match header="Accept-Language" value="zh"> 使用文中介面 </logic:match> <logic:equal parameter="number" value="20"> 您猜中了 </logic:equal> <logic:present scope="request" name="valid_user"> <bean:write name="valid_user" property="name"/>, 您好,這是您的神秘禮物! </logic:present> <logic:notPresent scope="request" name="valid_user"> <html:link forward="welcome"> 請先登入 </html:link> <logic:forward>、<logic:redirect>查詢struts-config.xml中的<global-forward>名稱,以forward或redirect的方式連接至指定的 網址或資源,可附加請求參數,一些範例如下: <logic:forward name="welcome"/>
<bean:define id="username" value="caterpillar"/> <logic:redirect href="http://www.caterpillar.onlyfun.net/test.jsp" paramId="user" paramName="username"/> <logic:iterate>將指定的Collection物件依序取出至指定的變數,直接看例子會比較清楚,如果userForm的傳回值是Collection物件: <!-- 複製Collection屬性至id -->
也可這麼寫: <bean:define id="props" name="userForm" property="someCollection"/> <logic:iterate id="prop" collection="<%=props%>"> <bean:write name="prop"/> </logic:iterate> <logic:iterate id="prop" name="userForm" property="someCollection"> <bean:write name="prop"/> </logic:iterate> |
|