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表達式重用於展現結果