Struts的取值与标签
首先,我们都知道,在struts2中有一个valuestack。里面存放的就是action里的属性。同时,还有一个stackcontext,里面放的是map形式的request/session/attr/application。
在取值的时候
valuestack中的值
<s:property value="user.name">
或在任意的<s:/>标签内使用%{} (记得这个 在s标签内部 就得使用%{} )
stackcontext中的值
<s:property value="#attr.user.name"> (此时在request/session/attr/application中应该有一个user)
使用attr是在你自己也不知道user这个数据是放在request/session还是别的什么里。
再说说struts里的if
官方给出的指导里面 例子很简单
<s:if test="%{false}"> <div>Will Not Be Executed</div> </s:if> <s:elseif test="%{true}"> <div>Will Be Executed</div> </s:elseif> <s:else> <div>Will Not Be Executed</div> </s:else>
屏幕上会打印出Will Be Executed
这说明什么,这说明%{}取得值,不一定在valuestack中。
既然说到了strtus的if,我们不妨再看看jstl里面的if
再说jstl的if之前我们先看看EL运算符
jstl的if如下:
下来我们也看看我今天在用if遇到的问题
list是valuestack里面的对象
我想完成的功能是如果 list.getIndex(2).getContent()的内容是入网优先
就让下拉框默认选中入网优先
<s:if test="%{list.{content}[2]==入网优先}"> <option value="入网优先" selected="selected">入网优先</option> </s:if> <s:else> <option value="入网优先">入网优先</option> </s:else>
上面的代码肯定不能执行喽。为什么?
大家请参考 struts2 if标签示例
换句话说 我的代码应该改成下面的样子
<s:if test="%{list.{content}[2]==\"上网优先\"}"> <option value="上网优先" selected="selected">上网优先</option> </s:if> <s:else> <option value="上网优先">上网优先</option> </s:else>
##################################################################################################
这两天又看了一下这篇文章,觉得用list来放置数据不合适,
<s:if test="%{list.{content}[2]==\"上网优先\"}"> 如果list的第二个元素放的是别的信息呢? 所以用map比较合适 <pre name="code" class="html"> <s:if test="%{resultMap.Fre_policy.content==\"上网优先\"}"> <option value="上网优先" selected="selected">上网优先</option> </s:if> <s:else> <option value="上网优先">上网优先</option> </s:else>
resultMap是hashmap型的,里面的key包括Fre_policy,而Fre_policy里面有个字段是content
参考资料
精通javaweb整合开发
http://hamlzf.iteye.com/blog/1669490
http://blog.csdn.net/liehuoliaoyuan/article/details/7426085
http://blog.csdn.net/dlf123321/article/details/28645369
http://hw1287789687.iteye.com/blog/1949722
Struts的取值与标签的更多相关文章
- struts2取值
http://www.cnblogs.com/yangy608/archive/2010/11/23/1885256.html struts2取值 1.标签取值方式一 通过<s:property ...
- Jquery 关于span标签的取值赋值用法
span是最简单的容器,可以当作一个形式标签,其取值赋值方法有别于一般的页面元素. //赋值 $("#spanid").html(value) //取值 $("#span ...
- jquery对strutrs2 <s:radio>标签的设置和取值
今天郁闷了1小时. 需求是这样的: <s:radio list="#{0:'男',1:'女'}" value="member.sex" id=" ...
- html常用标签的取值和赋值操作
我们在html页面当中,面对各种各样的标签,经常需要处理取值和赋值的问题,下面,就把常见的一些html标签元素的取值和赋值操作进行总结整理,以后备用. 1.button:改变button按钮上面的值, ...
- 页面传递的都是string ; 每个标签要有name的原因是为了取值 因为传递给后台是键值对的形式
页面传递的都是string ; 每个标签要有name的原因是为了取值 因为传递给后台是键值对的形式
- react 在IE9下input标签使用e.target.value取值失败
在react项目开发中,input标签使用onChange方法获取输入值改变state: <input type="text" id="redeemNum" ...
- 对<tr><td>标签里的input 循环取值
需求描述:单击table整行,跳转到具体的信息页面 关键就是获取整行的id,传给后台做查询,返回list 解决思路:用带参数函数传过去id,然后在js的函数中用$("#id"). ...
- struts2 页面标签或ognl表达式取值--未完待续
一.加#号取值和不加#号取值的解说 1.s:property 标签——value属性使用事项 1)涉及问题:取值时什么时候该加#,什么时候不加? 2)介绍 <s:property value=& ...
- struts2标签#、%、$取值
转自:https://blog.csdn.net/kosum/article/details/21375635 首先了解下OGNL的概念: OGNL是Object-Graph Navigation L ...
随机推荐
- Openstack:Instance cannot ping by domain name
Issue: When you created an instance inside Openstack, you may find that you cannot ping address by d ...
- 这是最好的时光 这是最坏的时光 v0.1.1.1
这是最好的时光 这是最坏的时光 v0.1.1.1 1.2 学校的生活二三事之大学 话说上一回,扯了一下我青涩的少年往事,大家反响不一,有叫好的,有吐槽的,有字字码过的,也有一目十行的.我的心情也是随着 ...
- Android自定义View实战(SlideTab-可滑动的选择器)
转载请标明出处: http://blog.csdn.net/xmxkf/article/details/52178553 本文出自:[openXu的博客] 目录: 初步分析重写onDraw绘制 重写o ...
- Spring之DAO模块
Spring的DAO模块提供了对JDBC.Hibernate.JDO等DAO层支持 DAO模块依赖于commons-pool.jar.commons-collections.jar Spring完全抛 ...
- 从Cell类型转变成数据型
我们有一个如下的cell数据 cdata = {'1' '11' '111' '1111' '11111'}; 现在要把他转变成double型的数组,很自然会想到的方法是cell2mat,可悲的是会遇 ...
- CoreAnimation中layer动画闪烁的原因及解决
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 网上有一段Core Animation层动画的例子,是将vie ...
- iOS日历中给一个事件添加多个提醒
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) iOS自带的日历应用中,我们最多只能给一个事件设置2个提醒,但 ...
- Android 5.1.1 源码目录结构
点击打开链接 最近公司培训新同事,我负责整理一点关于android的基础知识,遥想当年,刚接触android,也是一头雾水, 啥都不懂,就是靠看文档和视频,对android有一个初步了解,然后就通过查 ...
- request.setAttribute()怎么用的?
request.setAttribute()怎么用的? JSP1代码 String [] test=new String[2]; test[0]="1"; test[1]=&quo ...
- List常用整理
长期更新,主要记录List的各种常用操作整理. 对List进行排序 // Collections.sort(重写toString()进行排序区分) List<ObjectName ...