为什么<s:if test =“”>标签是否正常工作?

时间:2016-06-20 07:36:04

标签: java jsp struts2 struts-tags

我在会话中设置了一个值(某事),现在我无法在struts中使用它,如果标记

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

&#39;一些代码&#39;从不运行.. 但我可以正确地从属性标记中的会话中的相同键达到该特定值。

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

任何帮助?

感谢。

1 个答案:

答案 0 :(得分:0)

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

我发现

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

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

谢谢!