昨日对WebWork的标签库进行了小小的研究[1],原本以为将问题解决了,谁知问题仍然是存在。如果我的代码是写成这样的话:

WebWork深度探索之标签库(续)<ww:if test=" 'hasLogined' == false"> 
WebWork深度探索之标签库(续)       //显示登陆界面 
WebWork深度探索之标签库(续)
</ww:if>  
WebWork深度探索之标签库(续)
<ww:if test=" 'hasLogined' == true"> 
WebWork深度探索之标签库(续)     登陆成功!  
WebWork深度探索之标签库(续)
</ww> 
WebWork深度探索之标签库(续)

        运行的结果是什么都没有显示。开始有点蒙了,想了想这个结果应该是正常的,毕竟在一开始的时候,ValueStatck中确实没有hasLogined这个值,又如何去做条件判断呢?遂改为:

WebWork深度探索之标签库(续)<ww:if test=" 'hasLogined' != true"> 
WebWork深度探索之标签库(续)     //显示登陆界面 
WebWork深度探索之标签库(续)
</ww:if> 
WebWork深度探索之标签库(续)  
WebWork深度探索之标签库(续)
<ww:if test=" 'hasLogined' == true"> 
WebWork深度探索之标签库(续)      登陆成功! 
WebWork深度探索之标签库(续)
</ww>

        好了,这次是登陆界面出来了,可是登陆成功以后,“登陆成功”这几个字并没有显示出来,而且登陆界面并没有如我想象那样隐藏起来。然后将代码再改为:

WebWork深度探索之标签库(续)<ww:if test=" 'hasLogined' != true"> 
WebWork深度探索之标签库(续)     //显示登陆界面 
WebWork深度探索之标签库(续)
</ww:if> 
WebWork深度探索之标签库(续)  
WebWork深度探索之标签库(续)
<ww:if test="hasLogined"> 
WebWork深度探索之标签库(续)       登陆成功! 
WebWork深度探索之标签库(续)
</ww>

        这下子“登陆成功”这几个字是显示出来了,而界面没有隐藏起来的问题仍然没有解决。现在我开始怀疑自己昨天的结论了。接着,我将第二个if标签中的test的值改为" ' hasLogined' ",“登陆成功”几个字果然没有显示出来。其实是我自己愚昧,昨天遇到的问题,确实是和Token有联系,由于我使用了两个单引号来表示空字符串,这正好与Token一样了,才会出现错误。但是这并不代表着,如果要将ValueStack中的值拿来做比较的话,就要用单引号将需要的值括起来。所以,在写条件表达式的时候仍然遵循一般的方式即可。代码应该是这样的:

WebWork深度探索之标签库(续)<ww:if test="hasLogined == null"> 
WebWork深度探索之标签库(续)     //显示登陆界面 
WebWork深度探索之标签库(续)
</ww:if> 
WebWork深度探索之标签库(续)  
WebWork深度探索之标签库(续)
<ww:if test="hasLogined"> //或者 <ww:if test="hasLogined == true">
WebWork深度探索之标签库(续)       登陆成功! 
WebWork深度探索之标签库(续)
</ww>


         [1] WebWork深度探索之标签库   

相关文章: