2009-12-22 75 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}" />