当前位置: 代码迷 >> Java Web开发 >> struts2标签的有关问题
  详细解决方案

struts2标签的有关问题

热度:117   发布时间:2016-04-17 00:28:32.0
struts2标签的问题
[code=HTML][/code]Next Letter 
<select name="letter.let_NextNote">
<s:iterator value="letterArrayList" var="ee">
<s:if test='%{letter1.let_NextNote==<s:property value="ee" />}'>
<option value="<s:property value="ee" />" selected="selected">
<s:property value="ee" />
</option>
</s:if>
<s:else>
<option value="<s:property value="ee" />">
<s:property value="ee" />
</option>
</s:else>
</s:iterator>
</select>

无法比较 其中'%{letter1.let_NextNote}的值是3
[code=HTML][/code]Next Letter 
<select name="letter.let_NextNote">
<s:iterator value="letterArrayList" var="ee">
<s:if test='%{letter1.let_NextNote==3 />}'>
<option value="<s:property value="ee" />" selected="selected">
<s:property value="ee" />
</option>
</s:if>
<s:else>
<option value="<s:property value="ee" />">
<s:property value="ee" />
</option>
</s:else>
</s:iterator>
</select>
直接给个固定值就可以比较出来
我这里面是一个list集合存得是int类型的里面有1,2,3
<s:iterator value="letterArrayList" var="ee">
现在无法比较啊 请问是哪里出问题了

------解决方案--------------------
<s:if test='%{letter1.let_NextNote==<s:property value="ee" />}'>

<s:if test="letter1.let_NextNote==ee.toString()">
------解决方案--------------------
<s:iterator value="letterArrayList" var="ee">
<s:if test='%{letter1.let_NextNote==<s:property value="ee" />}'>
<option value="<s:property value="ee" />" selected="selected">
<s:property value="ee" />

这里不能这样搞吧,struts标签会自动识别这个ee对象的,不用在用s:property去拿了,非struts2标签可以用这个,你改成这样试试,好久没写了应该是这样的:
<s:if test='%{letter1.let_NextNote==ee/>[/color]}'>
//这里的%号好像也不需要把。还有我记得struts2不支持EL吧,应该用OGNL才对呀。
------解决方案--------------------
刚刚跟同事确认了一下,struts2标签不支持EL,所以上面的写法是错误的,要用OGNL:
test="#letter1.let_NextNote == ee",
n久没写Struts了,不知道对不对。错了勿怪哈。
------解决方案--------------------
三楼正解
  相关解决方案