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表达式重用于展现结果