Strtus2標籤

在沒有使用Struts2的時候可以使用el來進行url傳參。而在Struts2中不推薦使用el(其實在Struts2.0.0.11之後就不再支持el)而推薦使用功能更爲強大的ognl表達式語言。那麼怎麼使用ognl實現url傳參?

<s:url>就是解決這一問題的標籤



<s:url>標籤一般和超鏈接 <a>一起使用,用於帶多個參數。 

  1. <a href="  
  2. <s:url action="">  
  3.    <s:param name=" " value=""></s:param>   
  4.    <s:param name=" " value=""></s:param>   
  5.    <s:param name=" " value=""></s:param>   
  6. </s:url>"  
  7. >測試連接</a>  


<s:url>生成一個url地址,可以通過url標籤制定的<s:param>子元素向URL地址發送請求參數


  1. <s:url action=""> 指定請求地址  
  2. <s:param name="" value=""></s:param> 指定參數  
  3. </s:url>  


例子:

      

  1. <!--action是action的名字,爲url添加參數使用param標籤-->  
  2.   
  3.       <s:url var="url" action="mainPage">   
  4.           <s:param name="id" value="123"/>   
  5.       </s:url>   
  6.   
  7.       <!--使用上面定義的url-->   
  8.       <s:a href="%{url}">測試連接</s:a>   
  9.   
  10.   該方法在生成的頁面源碼中生成如下代碼   
  11.   <a href="/NetBookShop_081029/mainPage?id=123">測試連接</a>   

   

includeParams屬性


        

  1. <!--最重要的屬性includeParams,該屬性有三個值:none get all,默認值爲get-->   
  2.         <!--屬性值爲get時,該url會將訪問其所在jsp的的請求的所有get方法的參數添加到自身來-->   
  3.         <!--屬性值爲all時更是將get和post的的參數值全部添加到自身來-->   
  4.         <!--一般我們並不需要額外的參數,所以定義爲none-->   
  5.     <s:url var="url" action="mainPage" includeParams="none">   
  6.             <s:param name="id" value="123"/>   
  7.         </s:url>   


includeContext屬性

   

  1.  <!--includeContext:有true和false兩個值。url中是否包含上下文,也就是在url中的項目名-->   
  2.         <!--這個一般不用改,讓它自動包含,否則會定位到服務器的根目錄下-->   
  3.         <s:url var="url" action="mainPage" includeContext="false">   
  4.             <s:param name="id" value="123"/>   
  5.         </s:url>   
  6.     生成的url就下面的樣子了,注意在普通的html中使用/會定位到服務器的根目錄,而在struts的標籤裏使用/會自動添加上下文,所以不用麻煩的指定項目名   
  7. <a href="/mainPage?id=123">url</a>   


Method屬性


       

  1. <!--method用於指定執行action的方法 這個等同於action="mainPage!ok"-->   
  2.        <s:url var="url" action="mainPage" method="ok">   
  3.            <s:param name="id" value="123"/>   
  4.        </s:url>   


namespace屬性 


       

  1. <!--指定命名空間後,生成的url會使用相對路徑,具體的看我的結果-->   
  2.        <s:url var="url" action="mainPage" namespace="user">   
  3.            <s:param name="id" value="123"/>   
  4.        </s:url>   
  5.    結果如下   
  6. lt;a href="user/mainPage?id=123">url</a> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章