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
相关文章推荐
- ThinkPHP3.2.3建立项目模板和模板赋值
- LEETCODE 190
- C++ Primer Plus学习:第九章
- HDU5584 上海赛铜牌题
- JS---子类调用父类的方法
- Android-XML转成View过程简述
- POJ 3186
- BZOJ3781 小B的询问 题解&代码 【附莫队总结】
- android热补丁初探之二 热补丁分析对比
- python 异常
- C++ Primer Plus学习:第八章
- 51nod 1013快速幂 + 费马小定理
- 谁获得了最高奖学金
- iOS编程遇到的一些难点问题总结
- 批处理中setlocal enabledelayedexpansion的作用详细整理
- Error LNK2001 无法解析的外部符号
- C++ Primer Plus学习:第七章
- Android-Frame Animation介绍
- ubuntu14安卓phalcon
- 小明的存钱计划