Struts2 s:if test for non-null value

六月ゝ 毕业季﹏ 提交于 2019-12-01 12:39:12

问题


I am wanting to test for a non-null value using a struts2 tag. This works if I use the following:

<s:if test="myObject.myField != null">..stuff..</s:if>

It also seems to work if I miss out the not-null part, and just do:

<s:if test="myObject.myField">..stuff..</s:if>

However, when myField is a String, this no longer works. I prefer the second form as it is more concise, and seems less like putting code in my presentation layer. But I don't want to use it if it's an undocumented feature which is somehow working by accident, as suggested by the fact that it doesn't work for strings.

So my question is, is it ever ok to miss out "!= null" in the above test?


回答1:


Using <s:if test="whatsoever the whatsoever is an OGNL expression that should evaluate to Boolean value if you want the tag is working right. If your field is of boolean type it's ok, in other case it's just doesn't work.

Also, in the documentation page for the if tag the type is defined as Boolean, so it's not primitive boolean but the value could be primitive boolean. So, be careful when using different types when evaluating the test case.



来源:https://stackoverflow.com/questions/22248699/struts2-sif-test-for-non-null-value

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!