Struts2 url標籤:自動生成URL地址

2020-07-16 10:04:59
在 Struts2 框架中,一個 Action 物件的 URL 對映地址包含名稱空間、呼叫方法等多個引數,這樣的 URL 可以直接進行編寫,也可以使用 Struts2 框架提供的 url 標籤自動生成 URL 地址,url 標籤中提供了多個屬性滿足不同格式的 URL 需求。

語法:

<s:url value="actionTag.action">
  <s:param name="param" value="'frank'"/>
</s:url>


url 標籤是一個很常用的標籤,在 url 標籤中可以向 url 傳遞請求引數,也可以通過 url 標籤提供的屬性生成不同格式的 url。

url標籤的屬性說明如表所示。

url 標籤屬性及說明
名稱 是否必須 型別 說明
action 可選 String Action物件的對映URL,也就是Action物件的存取地址
anchor 可選 String 此URL的錨點
encode 可選 boolean 是否對引數進行編碼,預設值為true
escapeAmp 可選 String 是否將“&”跳脫成為“&amp”
forceAddSchemeHostAndPort 可選 boolean 是否新增URL的主機地址及埠號,預設值為false
includeContext 可選 boolean 生成的URL是否包含上下文路徑,預設值為true
includeParams 可選 String 是否包含可選引數,可選值為none、get、all。預設值為none
method 可選 String 指定請求Action物件所呼叫的方法
namespace 可選 String 指定請求Action物件對映地址的名稱空間
scheme 可選 String 指定生成URL所使用的協定
value 可選 String 指定生成URL的地址值
var 可選 String 定義生成URL變數名稱,可以通過此名稱參照URL

範例

建立程式中的首頁 index.jsp,在此頁面中通過 url 標籤生成不同格式的 url 地址,關鍵程式碼如下:
<body>
  <div>
    <h2>url標籤</h2>
    <ul>
      <li>生成Action連結</li>
      <li>
        <s:url action="user.action" method="add" namespace="admin"></s:url>
      </li>
    </ul>
    <ul>
      <li>生成Action連結(帶有主機名及埠號)</li>
      <li>
        <s:url action="user.action" method="add" namespace="admin"
               forceAddSchemeHostAndPort="true"></s:url>
      </li>
    </ul>
    <ul>
      <li>生成Action連結(帶有引數)</li>
      <li>
        <s:url action="user.action"method="add" namespace="admin">
          <s:param name="username" value="'mr'"></s:param>
          <s:param name="password" value="'mrsoft'"></s:param>
        </s:url>
      </li>
    </ul>
  </div>
</body>