Struts2对值的推断
目的是想将jsp中的input输入:
<input class="inputstyle" type="text" value="<s:property value="#result.maritalStatus"/>" name="updatePersonalInfo.maritalStatus" />
改成JSP部分select选择:
<input style="display:none;" type="text" id="selectMerrageValue" name="updatePersonalInfo.maritalStatus" />
<select class="selectstyle" id="selectMerrage">
<s:if test="#result.maritalStatus==null">
<option value="--请选择--">--请选择--</option>
<option value="是">是</option>
<option value="否">否</option>
</s:if>
<s:else>
<s:if test="#result.maritalStatus=='是'.toString()">
<option value="是" selected="selected">是</option>
<option value="否">否</option>
</s:if>
<s:else>
<s:if test="#result.maritalStatus=='否'.toString()">
<option value="是">是</option>
<option value="否" selected="selected">否</option>
</s:if>
<s:else>
<option value="--请选择--">--请选择--</option>
<option value="是">是</option>
<option value="否">否</option>
</s:else>
</s:else>
</s:else>
</select>
和JS部分取值赋值:
$(function(){
var maritalStatus = document.getElementById("selectMerrage").value
$("#selectMerrageValue").val(maritalStatus);
});
可是一直出现故障。
測试部分例如以下:
<input type="text" value="<s:property value="#result.maritalStatus"/>" />
有值;
<s:property value="#result.maritalStatus"/>
firebug看html中有值;
${result.maritalStatus}
firebug看html中有值。
终于发现<s:if test="#result.maritalStatus=='是'">和<s:if
test="#result.maritalStatus=='否'">两句
始终不能正确的被推断。最后发现是由于#result.maritalStatus这个字段是String类型。必须在推断的时候加上‘是'.toString()。
附上查询到的帮助博客: http://guokejia1986.blog.sohu.com/174626148.html
博客内容:
Struts2 用 s:if test 推断String类型的对象属性值和单字符是否相等的问题
首先,这里所指的单字符形如:Y。男。
有两种做法:
a. <s:if test='news.sfsecret=="是"'>
b. <s:if test="news.sfsecret=='是'.toString()">
解释例如以下:
由于java是强类型语言,单引號表示char类型,而双引號则表示String类型。所以a中能够正常使用。而b中则须要用toString()方法将char类型转为String类型。
事实上单纯的input改成select也能够用这种方法,当中JSP部分select选择:
<input style="display:none;" type="text" id="selectMerrageValue" name="updatePersonalInfo.maritalStatus" />
<select class="selectstyle" id="selectMerrage">
<option value="是" id="selectYes">是</option>
<option value="否" id="selectNo">否</option>
</select>
和JS部分取值赋值:
$(function(){
var maritalStatus= "<s:property value='#result.maritalStatus' escape='false'/>";
if(maritalStatus=="是")
$("#selectYes").attr("selected",selected);
else
$("#selectNo").attr("selected",selected);
});
这样做的话就不用Struts的<s:if test ="">来推断了,直接在JS里面定义一个变量取值来推断。
Struts2对值的推断的更多相关文章
- 你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)
3.5.2 字符串类型 使用char类型的变量我们可以表示单个字符,那么,我们又该如何表示拥有多个字符的字符串呢? 我们注意到,一个字符串是由多个字符串连起来形成的.很自然地,一种最简单直接的方法就 ...
- struts2(二)值栈 threadlocal ogal ui
值栈(重要)和ognl表达式 1. 只要是一个mvc框架,必须解决数据的存和取的问题 2. Struts2利用值栈来存数据,所以值栈是一个存储数据的内存结构 3. 把数据存在值栈中,在页面上利用 ...
- struts2取值
http://www.cnblogs.com/yangy608/archive/2010/11/23/1885256.html struts2取值 1.标签取值方式一 通过<s:property ...
- Struts2的值栈和OGNL牛逼啊
Struts2的值栈和OGNL牛逼啊 一 值栈简介: 值栈是对应每个请求对象的一套内存数据的封装,Struts2会给每个请求创建一个新的值栈,值栈能够线程安全的为每个请求提供公共的数据存取服务. 二 ...
- 【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】
一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的 ...
- Struts2向值栈中压入属性的方式
Struts2在初始化Action的时候会先向值栈中压入一个action对象,里面包含了各个属性,这些属性是怎么被压进去的?或者说是根据什么来压入的?直到2016年5月5日才理解,原来是在初始化act ...
- Struts2 的 值栈和ActionContext
1.ValueStack 和 ActionContext 的关系与区别: -- 相同点:它们都是在一次HTTP请求的范围内使用的,它们的生命周期都是一次请求 -- 不同点:ValueStack 分为对 ...
- struts2域值操作
1.通过servletActionContext类 /*** * 获得方式一:通过ServletActionContext类 * 提供的静态方法获得原始的web对象,直接和servlet的API耦合 ...
- Struts2的值栈和对象栈
ValueStack 如何得到值栈: 如何将对象存入值栈: 让值栈执行表达式来获得值: 在JSP中跳过栈顶元素直接访问第二层: 在JSP中访问值栈对象本身(而不是它们的属性) ActionContex ...
随机推荐
- C++高性能转换大小写算法
简述 有一个需求,是需要将URL中的query参数的key全部转换为小写或者大写,键值对的数量有点多,但全部都是英文字母,无需考虑非字母的情况. 实现比较快的做法是使用STL或C标准库中的转换接口,如 ...
- 利用XAMPP搭建PHP开发环境,解决443端口被占用
为了方便,作为学习使用的PHP环境,我们可以直接使用Apache+mysql+php集成开发环境.这样的集成软件有appserv和xampp,这里我们以xampp为例. 首先下载xampp软件,下载地 ...
- 【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)
Dubbo与Zookeeper.Spring整合使用 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spri ...
- Ubuntu18.04使用f3probe检测U盘实际容量
项目主页 https://fight-flash-fraud.readthedocs.io/ 使用f3probe 能快速检测出被测U盘的实际容量, 命令 $ sudo f3probe --destru ...
- Uva10161 Ant on a Chessboard
Uva10161 Ant on a Chessboard 10161 Ant on a Chessboard One day, an ant called Alice came to an M*M c ...
- Dubbo整合SpringBoot
目前的dubbo已支持和springboot集成,还是之前的例子,这次我们通过springboot容器来实现.借此了解一下基于springboot容器启动的dubbo的配置及使用. 1. 准备工作 创 ...
- fileUpload(草稿)
Java关于文件上传的一个例子 发表于2012/6/7 13:01:56 1374人阅读 分类: JavaWeb 文件上传不能用get方式提交,因为他提交的数据量最多只有1kb, IE浏览器默认情况 ...
- [Spring学习笔记 3 ] spring 注解详解,完全注解,常用注解
.xml使用注解 xml 用来定义bean的信息,注解用来配置依赖信息 ) 在配置文件中配置bean )在javaBean中用注解来指定依赖注入 )在配置文件中开启注解扫描 @Resource标签 j ...
- 开发 Swift 和 Objective-C 混编的 Framework
来源:黄文臣 blog.csdn.net/hello_hwc/article/details/58320433 前言 为什么要写这样一篇文章,因为昨天和一个朋友讨论到Swift和Objective C ...
- Mysql5.6 make 错误以及解决办法
1.若make出现类似错误: CMake Error: CMake was unable to find a build program corresponding to "Unix Mak ...