今天做项目使用到了strut的if标签,但是又遇到了神奇的事情,如下
<s:if test="#session.centainstu.state == '在校'">
OK,没有问题。但是,
<s:if test="#session.centainstu.bednum == 'C'">
就无法正常执行。
原来"C"仅仅是个字符,而上面那个是个字符串,而==左边的表达式返回的字符串型的,故不能判断为true。
解决办法:
将C转换成字符串型,如下:
<s:if test="#session.centainstu.bednum == 'C'.toString()">
或者
<s:if test='#session.centainstu.bednum == "C" '>
注意外面是单引号。里面试双引号
还有
<s:if test="#session.centainstu.bednum ==(eq) \"C\" ">
Struts框架中if标签使用及字符类型转换问题解析

本文详细介绍了在Struts框架中使用if标签时遇到的字符类型判断问题,解释了字符串比较的基本原理,并提供了两种有效的解决方案:将字符转换为字符串类型进行比较或直接使用双引号和等号进行比较。通过实例演示,帮助开发者避免常见的类型混淆错误。
570

被折叠的 条评论
为什么被折叠?



