天天看點

struct 的标簽差別

1.<s:url id="url" action="HelloWorld"> <s:param name="request_locale">en</s:param> </s:url> 此段表示設定一個url标簽指向名為HelloWorld的action,此标簽帶一個id取名為url,後面會用到。帶一個參數request_locale,其值為en。點選不會有連結的。 2.<s:a href="%{url}" target="_blank" rel="external nofollow" >English</s:a> 此句用到了struts2的超連結标簽,連接配接的位址即為1中url,點選English,發出的資訊為:http://localhost:8080/StrutsHelloWorld/example    /HelloWorld.action?request_locale=en

3.使用action标簽,可以允許在jsp頁面中直接調用Action,在調用Action時候,可以指定需要被調用的Action的name和namespace.如果指定了executeResult參數的屬性值為true,該标簽會把Action的處理結果(視圖資源)包含到本頁面中. 使用action标簽指定屬性有:

id: 可選屬性,作為該Action的引用ID

name:必選屬性,指定調用Action

namespace:可選屬性,指定該标簽調用Action所屬namespace

executeResult:可選屬性,指定是否将Action的處理結果包含到本頁面中.預設值為false,不包含.

ignoreContextParam:可選參數,指定該頁面的請求參數是否需要傳入調用的Action中,預設值是false,即傳入參數.

<s:action name="login" executeResult="true" namespace="/"></s:action>

傳遞參數

<s:action name="actinName" executeResult="true" namespace="/">

<s:param name="currentPage" value="傳遞的值"></s:param>

</s:action>

<s:param ></s:param>是以request方式的值的,而不是以參數傳值

是以request.getParameter("")會擷取不到值

通過request.getAttribute("")方式可以擷取

另外:使用<s:param ></s:param> value指代的是action定義的對象的名稱,而不是一個值