struts2 if标签的中文判断没反应是什么原因?
<s:if test="%{impact=='HIGH'||impact=='高'}">
<img src="/${lanname}/images/high_1.gif" width="37" height="13" />
</s:if>
<s:elseif test="%{impact=='MEDIUM'||impact=='中'}">
<img src="/${lanname}/images/medium_1.gif" width="37" height="13" />
</s:elseif>
<s:else>
<img src="/${lanname}/images/low_1.gif" width="37" height="13" />
</s:else>
impact 中文打印出来的值不是乱码,就是判断不执行,英文正常,这是为什么呢?
------解决方案--------------------impact.equals(“”)
这个吧···
没用过struts2 不知道里面的
------解决方案--------------------struts2 标签没用过
不会 也帮不了你
------解决方案--------------------<%@ page contentType="text/html; charset=UTF-8"%> lz 你的是不是用utf-8啊? 不就试试吧。我想这个应该是编码的问题
------解决方案--------------------<s:if test="%{impact=='HIGH'||impact=='高'}">
改成 <s:if test="impact=='HIGH'||impact=='高'">
试试~
还有就算是传值 也应该是$ 而不是 % 吧
------解决方案--------------------
------解决方案--------------------把中文传进去时,打出来看看就知道了!
------解决方案--------------------impact==\"HIGH\"||impact==\"高\"
改成这个试试
------解决方案--------------------<s:if test="%{impact== \"HIGH\"||impact=='高'}">
或者
<s:if test="%{impact== \"HIGH\"||impact=="\高\"}">
------解决方案--------------------《把impact 后面多加一个空格就可以比较》
不可能存在这种问题,我都调试通过了。我用的struts2.1.6
------解决方案--------------------Jsp代码:
1>.字符串数字比较(1位):<s:if test="%{number1 == 1}">
2>.字符串数字比较(多位):<s:if test="%{number2 == 11}">
3>.字符串字母比较(1位):<s:if test="%{text1 == \"2\"}">
4>.字符串字母比较(多位):<s:if test="%{text2 == \"22\"}">
5>.汉字(1位):<s:if test="%{kanji1 == \"汉\"}">
6>.汉字(多位):<s:if test="%{kanji2 == \"汉语\"}">
Action初始化:
// 初期化
form.setNumber1("1");
form.setNumber2("11");
form.setText1("2");
form.setText2("22");
form.setKanji1("汉");
form.setKanji2("汉语");
注:属性我用的是模型驱动,JSP和Action编码格式都是UTF-8。