2009-12-22 76 views
0

我想知道为什么在JSP中将一个String与null进行比较时此代码不起作用。Struts2 taglib,与null进行比较

<s:set name="myvar" value="%{'teststring' != null}" /> <!-- always true --> 
myvar value is ${myvar} 

上面的代码工作正常,并打印“myvar value is true”。

但做任何的这些

<s:property value="myvar" /> 
<s:property value="%{myvar}" /> 

抛出一个ClassCastException

Caused by: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String 

所以我不知道如何解决这个问题,因为我需要基于该变量的值,即禁用某些输入。

<s:select ... disabled="%{myvar}" /> 

非常感谢您的帮助。

回答

0

试试这个

<s:property value="%{myvar.toString}" /> 
<s:select ... disabled="%{myvar.toString}" /> 
2

这似乎工作: <s:property value="%{#myvar}" />