之前做的项目总是会或多或少用到struts2标签的if标签,但用这个标签真的令我十分无语。因为经常得不出我想要的结果,而在网上找的写法,基本在项目里都是不能使用的。下面总结一下这个if标签在项目里能正常运行的3种写法,为了方便明白,我直接举实际的例子来说明好了。我的项目的基本框架是springside3,也就是Struts+spring+hibernate加其他各种常用的框架和包。
if标签的3种写法:
(1)在html控件中的属性包含if标签的写法:
<input id="RadioButtonList2_0" type="radio" name="log_encrypt" value="none"
<s:if test='logencrypttype=="none"' > checked="true" </s:if> />
这里注意的地方就是如果是在控件中的属性设置里要用到if标签,test=后面的内容要用''号包括,其中logencrypttype是后台变量。对应的字符传用""去包括。
(2)直接用if标签去包含html标签,判断后台变量是否等于某个值。
<s:if test="%{page.PageNo!=1}" ><a href="?currentpageno=${page.prePage}">上一页</a></s:if>
page是后台变量,是一个对象,包含PageNo的属性。1虽然是字符串,但也无需要用""去包括起来,这个是要注意的地方。
(3)直接用if标签去包含html标签,判断两个后台变量是否相等。
<s:if test="%{page.PageNo!=page.totalPages}"><a href="?currentpageno=${page.nextPage }">下一页</a></s:if>
其中page是后台变量,是一个对象,包含PageNo和totalPages的属性。