| 標簽 | 用途 |
logic:present | Request 范圍存在指定 Bean/屬性/Header |
logic:notPresent | 不存在 |
<logic:present name="user" property="name">用戶及姓名均存在</logic:present>
<logic:present header="user-agent">有 User-Agent</logic:present>
導航控制標簽
logic:forward name="globalForwardName":頁面轉發(查找全局 forward)
logic:redirect href="https://example.com":客戶端重定向,可攜帶參數
迭代標簽:logic:iterate
遍歷 Collection、Map、Array 等,支援索引、偏移、長度控制、巢狀迭代。
基礎遍歷
<logic:iterate id="user" name="userList">
<bean:write name="user" property="name"/><br/>
</logic:iterate>
分頁切片:offset + length
<logic:iterate id="user" name="userList" indexId="idx" offset="1" length="2">
<bean:write name="idx"/>. <bean:write name="user" property="name"/><br/>
</logic:iterate>
巢狀迭代:用戶下的地址列表
<logic:iterate id="user" name="userList">
<bean:write name="user" property="name"/>
<logic:iterate id="addr" name="user" property="addressList" length="3" offset="1">
<bean:write name="addr"/><br/>
</logic:iterate>
</logic:iterate>
最佳實踐提醒
- Struts 標簽不支援巢狀嵌套(如
logic:equal 內放 bean:write 作 value),動態值請用 EL 表達式
logic:iterate 的 id 變量僅在標簽體內有效,頁面其他位置不可用
- 大量邏輯判斷建議移至 Action/Service 層,JSP 僅做簡單展示控制
- Struts 1.x 維護模式,新項目建議遷移至 Spring MVC / Thymeleaf 等現代棧
- 上一篇文章: Java 串口通訊開發指南:基於 Java Communications API 的 RS232 實戰
- 下一篇文章: Spring Singleton 陷阱:基類注入用戶上下文導致多用戶數據錯亂
Copyright ©
程式碼之家 All Rights Reserved