首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

Struts Logic 標籤庫完整指南

     編輯:Java 程式設計入門

Struts Logic 標籤庫概述

Struts Logic 標籤庫提供條件判斷、迭代、轉向等流程控制標籤,常用於 JSP 頁面邏輯處理。本文詳細說明各標籤用法與範例。

條件判斷標籤

empty / notEmpty

判斷集合、Map、字串或物件是否為空/非空。

<logic:empty name="listForm" property="persons">
  <div>集合 persons 為空!</div>
</logic:empty>

比較標籤:equal, notEqual, greaterEqual, greaterThan, lessEqual, lessThan

支援 Bean 屬性、Request 參數、Cookie、Header 與指定值比較。

<logic:greaterEqual name="student" property="scores" value="60">
  及格
</logic:greaterEqual>

match / notMatch

子字串匹配,支援 location 屬性指定匹配位置(start/end)。

<logic:match name="name" scope="request" value="hello" location="start">
  以 "hello" 開頭
</logic:match>

present / notPresent

檢查 Bean、屬性、參數、Header、Cookie、用戶角色是否存在。

<logic:present name="user" property="name">
  user 及其 name 屬性均存在
</logic:present>

messagesPresent / messagesNotPresent

判斷 ActionMessages/ActionErrors 是否存在,常搭配 <html:messages> 顯示錯誤。

<logic:messagesPresent property="error">
  <html:messages property="error" id="err">
    <bean:write name="err"/>
  </html:messages>
</logic:messagesPresent>

流程控制標籤

iterate:集合迭代

支援 Array、Collection、Enumeration、Iterator、Map 等類型。可指定 id、indexId、offset、length。巢狀迭代範例:

<logic:iterate id="emp" name="empList">
  <bean:write name="emp" property="name"/><br>
  <logic:iterate id="address" name="emp" property="addressList">
    <bean:write name="address"/><br>
  </logic:iterate>
</logic:iterate>

forward / redirect

  • forward:內部轉發,瀏覽器 URL 不變,Request 範圍共享。對應 struts-config.xml 全域 forward。
  • redirect:客戶端重導向,瀏覽器發送新請求,URL 改變,原 Request 範圍失效。可攜帶參數。
<logic:forward name="redirect"/>
<logic:redirect href="https://www.example.com"/>

選擇建議:需保留請求資料用 forward;需跳轉外部網址或防止表單重複提交用 redirect。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved