您的位置:首页 > 其它

MVC中的View层

2016-03-11 19:36 197 查看

1.Java中的标签

在jsp页面中会用到的两种标签有:struts2与jstl。一定要区分两者的标签形式,下面从三种场景来区分下。

a.在jstl中使用struts2 

<c:forEach var="ee" items="${requestScope.serviceList}" >
jstl:<c:out value="${ee.id}"></c:out>
el:${ee.id}
struts2: <s:property value="#attr.ee.id"/>
</c:forEach>


通过struts2标签取jstl标签的变量时,如果有设置scope,可以从scope中取值 
如果没有就需要用#attr来取值 
b.从jstl标签中获取值 

<c:set var="ctime" value="${el.createtime}" scope="request"/>
<c:set var="ctime2" value="${el.createtime}" />
<s:property value="#request.ctime"/>
<s:property value="#attr.ctime2"/>


c.在struts2标签中使用jstl 

<s:iterator value="#request.serviceList" id="bs">
struts2:<s:property value="#bs.keyid"/>
el:${bs.keyid}
jstl:<c:out value="${bs.keyid}"></c:out>
</s:iterator>


d.从struts2标签中取值 

<!-- 数字类型 -->
<s:set name="pp" value="11"></s:set>
struts2:<s:property value="#pp"/>
el:${pp}
jstl:<c:out value="${pp}"></c:out>
<!-- 字符串类型 -->
<s:set name="pp2" value="'abc'" scope="request"></s:set>
struts2:<s:property value="#request.pp2"/>
el:${pp2}
jstl:<c:out value="${pp2}"></c:out>

2.Java中的表达式

在jsp页面中会用到的三种表达式有:EL表达式、JSP脚本表达式以及ONGL表达式。一定要区分他们的书写形式。
a.EL表达式

主要作用:获取数据、执行运算、获取 Web 开发常用对象。用于替换掉
Jsp 页面中的脚本表达式,以从各种类型的 Web 域中检索 Java 对象、获取数据。其表现形式为${ }.

[b]b.JSP表达式 [/b]

表现形式为<%=  %>

C.OGNL表达式 

OGNL表达式是Struts2中默认的表达式语言,只能应用于Strtus2中(Struts2的自定义标签中、struts.xml等)不能单独使用与JSP页面中。当应用于Struts2的自定义标签的属性值中时,其形式为%{表达式};当应用在 struts.xml中时,其形式为${表达式}方式。在自定义标签的属性值中使用%的原因是在JSP中使用$符号与EL相冲突。
 语法:
   %{name}取值栈中的值
   %{#name}取值栈中Map中的值
   %{#user.name}取值栈中Map中的值
   #{'k':'v', 'k2':'v2'}定义一个Map
   {'e1', 'e2'}定义一个List
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: