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表达式重用于展现结果
相关文章
相关标签/搜索