struts標籤簡單應用

struts2的標籤:

<!-- 後臺定義了 public List list 以及 list 的get set方法,沒request.setattribute方法  

    --前臺調用list的時候,value不須要加#  var屬性至關於list裏的對象 status爲狀態屬性

    --property 的value書寫要求:若是value的的值只是一個字符串,則能夠不加#,格式如:ll。

    --若是爲一個實體,須要加#,書寫格式如:#ll

-->

<s:iterator value="list"  var="ll" status="counts">

<s:property value="#ll"/>

</s:iterator>



<!-- 後臺定義了 public Map map 以及 map 的get set方法,沒request.setattribute方法  

    --前臺調用map的時候,value不須要加#  

    --property 的value書寫兩種格式,以下

-->

<s:iterator value="map" var ="mm" status="counts">

<!--  能夠這樣:

<s:property value="key"/>:<s:property value="value"/></br>

 -->

<s:property value="#mm.key"/>:<s:property value="#mm.value"/>

</s:iterator></br>



<!-- %的做用就是 將字符串list翻譯成ognl能夠解析的代碼-->

<s:property value="%{list}"/></br>



<!-- 後臺的格式是 request.setAttribute("semesterList",semesterList)  

   --前臺調用的時候,value值要加上#request.semesterList  ,

   --遍歷體裏面的s:property標籤的value 的值前面依然要加#

-->

<s:iterator value="#request.semesterList" var="semester" status="counts">

${semester.seName}  |  property方式:<s:property value="#semester.seName"/>

</br>

</s:iterator>

</br>



<!-- 獲取semesterList第一個元素的的子元素seName ,如下兩種方式。

   --由於arraylist是經過數組放方式存儲數據的,因此第一種方式經過#request.semesterList[0]能夠訪問到一個元素

   --從第二種方式能夠看出 在value值種能夠訪問對象的方法-->

<s:property value="#request.semesterList[0].seName"/>

<!-- 

<s:property value="#request.semesterList.get(0).seName"/>

 -->

</br>



<!-- 訪問map所value值 -->

<s:property value="map.values()"/>

</br>

<!-- 這裏注意 #request.semId 能夠訪問兩種 :後臺設置爲request.setAttribute("semId",semId),或者semId的get set方法。

    --可是若是後臺設置了session.setAttribute("semId",semId),則前臺的value只能爲爲#session.semId,同理application。

 -->

<s:property value="#reqeust.semId"/>



//最後注意只有在struts2標籤體中,才能解析 #,%







el表達式:

範例

說明

${pageScope.username}

取出Page範圍的username變量

${requestScope.username}

取出Request範圍的username變量

${sessionScope.username}

取出Session範圍的username變量

${applicationScope.username}

取出Application範圍的username變量





pageContext

咱們可使用 ${pageContext}來取得其餘關用戶要求或頁面的詳細信息。下表列出了幾個比較經常使用的部分

Expression

說明

${pageContext.request.queryString}

取得請求的參數字符串

${pageContext.request.requestURL}

取得請求的URL,但不包括請求之參數字符串,即servlet的HTTP地址。

${pageContext.request.contextPath}

服務的webapplication的名稱

${pageContext.request.method}

取得HTTP的方法(GET、POST)

${pageContext.request.protocol}

取得使用的協議(HTTP/1.一、HTTP/1.0)

${pageContext.request.remoteUser}

取得用戶名稱

${pageContext.request.remoteAddr}

取得用戶的IP地址

${pageContext.session.new}

判斷session是否爲新的,所謂新的session,表示剛由server產生而client還沒有使用

${pageContext.session.id}

取得session的ID

${pageContext.servletContext.serverInfo}

取得主機端的服務信息





el和ognl表達式配合使用:

一般見到



<!-- request,session,application範圍的,訪問格式:${request.XXX}/${session.XXX}/${application.XXX}

  ---若是有get set方法,訪問格式${XXX}.

  ---若是在ognl的循環體裏面,即便外對象(如semesterList)在request,session,application範圍,裏面能夠直接這樣訪問:${semester.seName} 

 -->

<s:iterator value="#request.semesterList" var="semester" status="counts">

el表達式:${semester.seName}  |  ognl方式:<s:property value="#semester.seName"/>

</br>

</s:iterator>

</br>





<s:if test="#parameters.name[0]=='1'">

<s:if test="#parameters.roleCode[0]=='fenguanxiaolingdao' || #parameters.roleCode[0]=='fadingdaibiaoren'">

el表達式重用於展現結果
相關文章
相關標籤/搜索