现在在页面上判断 显示两张图片 数据库中有图片就显示指定路径下的该图片,没有就显示默认图片,如下代码:
这里的personInfo是action中一对象,pic是personInfo一属性,所以无须用#,%{}之类的东西,只需像获取一个值一样,直接使用它的对象.属性,进行判断是否为空值。
<s:if test="null==personInfo.pic||personInfo.pic.isEmpty"> <img width="100" height="120" alt="您的照片" src='../../image/zwpt.gif'/>
<s:if><s:else> <IMG width="100" height="120" alt="您的照片" src='../../UploadImages/<s:property value="personInfo.pic"/>'/></s:else>
假如personInfo是页面中的属性字段 如:<s:iterator id="personInfo" value="list"></s:iterator>那么判断条件就不能像上面那样写,必须在personInfo前面加上'#',标签才会识别出这个变量,相应的%{}也要起作用了;这里的list也必须是action中具有get方法的一个属性,如果list是session或request中的对象,则须这样写:<s:iterator id="personInfo" value="#request/session.list"/>
再如:<s:iterator value="name,url"/> 这是两个String属性
输出name<s:property value="name"/>
输出url<s:url value=%{url}"/>这里是将url转为绝对路径。
若user是request中的一个对象 则要在textfield中取出该值:
<s:textfield name="user" value="%{#request.user}/>
直接输出值:<s:property value="#request.user}/>
说明:${}是EL语言的 %{}形式是ognl表达式语言的,在struts2的标签内部,使用%{}这样的形式,在标签外部可以使用${}EL语言的方式。在struts2的标签内部不允许使用${}这样的形式。
很多时候,我们使用struts2的一些标签,属性是需要接受集合的,如果集合是保存在request,session,或者是值栈(非根对象的栈顶),可以使用#变量名的方式,如果获取的值是在Action中通过特定的方法来获取,就需要使用如 value="list"这样的方式,只是去掉了前面的#。
其实可以根据实际情况,试试不同样式的写法,然后总结出规律,即使没学会ognl,很快会用它也不是难事
分享到:
相关推荐
set标签、push标签、if/elseif/else标签、iterator标签、sort标签
struts2中iterator 标签的使用详解
struts2中siterator 标签的使用详解 及 OGNL用法 struts2中siterator 标签的使用详解 及 OGNL用法
struts2 标签iterator使用我自己试过的
一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts2, json,iterator技术, 将数据从...
其实只有一点struts2 iterator标签遍历二维数组
5.3.3 if、else、elseif标签使用介绍 81 5.3.4 iterator标签使用介绍 82 5.3.5 merge标签使用介绍 83 5.3.6 sort标签使用介绍 84 5.3.7 subset标签使用介绍 86 5.4 Struts2数据标签简介 88 5.4.1 action标签使用介绍...
struts2 中标签的使用 这段时间学习用struts2来开发网站,其中对一些struts2的标签在实际操作上有一些体会。 一.关于iterator迭代集合对象的问题:
6.4.2 if和else标签 125 6.5 其他标签 126 6.5.1 include标签 126 6.5.2 URL标签 127 6.5.3 i18n和text标签 128 6.5.4 param标签 129 6.6 使用JSTL和其他本地标签 130 6.7 OGNL表达式语言的基础知识 130 6.7.1 什么...
NULL 博文链接:https://takeme.iteye.com/blog/1663239
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) ...(3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) (6) 、 (7) 、、、 (8) 、、<s:checkboxlist>
可对struts2 标签如<iterator>等相应列进行求和.
Struts 2 标签库(文档手册) Tags-API-CLSW-JSP <%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-...
webwrok iterator标签status属性使用方法.docwebwrok iterator标签status属性使用方法.docwebwrok iterator标签status属性使用方法.docwebwrok iterator标签status属性使用方法.docwebwrok iterator标签status属性...
五、 If elseif else 30 六、 Iterator标签 31 七、 Theme 31 05设计约定(编码规定) 32 06 项目开发顺序 32 07 声明式异常处理 33 08 国际化 35 一、 国际化资源文件 35 二、 Java国际化 35 三、 Struts2国际化 35 1...
生成一个简单的iterator,并且使用iterator标签打印出内容。 ,bbb,ccc,ddd,eee'}"> <s:iterator> <s:property /><br/> </s:iterator> </s:generator> 例2: 生成一个iterator,使用count属性。因为count属性值为...
if/elseif/else标签:控制流程分支。 iteratot标签:对集合属性迭代(属性类型:List、Map、数组)。 append标签:将多个集合对象拼接在一起,组成一个新的集合。将多个集合使用一个<iterator/>标签完成迭代。 ...
NULL 博文链接:https://shupili141005.iteye.com/blog/667446
五、 If elseif else 30 六、 Iterator标签 31 七、 Theme 31 05设计约定(编码规定) 32 06 项目开发顺序 32 07 声明式异常处理 33 08 国际化 35 一、 国际化资源文件 35 二、 Java国际化 35 三、 Struts2国际化 35 1...
在action里面写了方法获取一个list,再将这个list的值放到jsp页面中显示出来,用的是<s:iterator>标签。