为什么 <s:if test> 标记无法正常工作?

Why <s:if test> tag isn't working correctly?

我已经在会话中设置了一个值(某物),现在我不能在 struts if tag

中使用它
<s:if test=%{#session.key == 'something'}>
    // 'some code'
</s:if>

'some code' 永远不会运行.. 但我可以从 属性 标记中会话中的相同键正确地获得该特定值。

<s:property value="#session.key" />

有什么帮助吗?

谢谢。

终于找到解决方案了。 问题是:会话对象中的键不是字符串,应该转换为字符串。

我找到的解决方案是:在单独的 class 中使用 StrutsTypeConverter 作为该值,然后覆盖两个方法 convertToStringconvertFromString 并定义 xwork-conversion.properties 文件在 WEB-INF/classes 文件夹(配置)下并将 key = convertorClassName 放入其中。 所以 struts 会在需要时自动进行转换。

如果你有更简单的类型转换解决方案,我会很高兴=)

谢谢!