如何修复重定向OGNL错误,无法设置param?

时间:2009-05-11 16:08:52

标签: struts2 ognl

我不确定这是不是我或者这是一个错误。

我收到以下错误

11:52:01,623 ERROR ObjectFactory:27 - Unable to set parameter [dest] in result of type [org.apache.struts2.dispatcher.ServletRedirectResult]
Caught OgnlException while setting property 'dest' on type 'org.apache.struts2.dispatcher.ServletRedirectResult'. - Class: ognl.ObjectPropertyAccessor
File: ObjectPropertyAccessor.java
Method: setProperty
Line: 132 - ognl/ObjectPropertyAccessor.java:132:-1
        at com.opensymphony.xwork2.ognl.OgnlUtil.internalSetProperty(OgnlUtil.java:392)

我的配置非常简单

<package name="esupport" namespace="/esupport" extends="struts-default">
        <action name="old-esupport" class="com.my.MyRedirectAction">
            <result type="redirect">
            <param name="location">http://some.server.com/init.asp</param>
            <param name="dest">${dest}</param>
            </result>
        </action>
    </package>

我的班级有一对get / set方法。就是这样。没什么好看的

我在论坛中找到了this帖子。但它并没有解决我的问题

我正在使用

Struts 2.1.16 春天2 Spring Security + CAS

(有趣的行为是它在发生错误后将我发送到CAS服务器,但我想在重定向问题得到解决后会得到纠正)

2 个答案:

答案 0 :(得分:3)

这似乎是Struts2的一个错误。他们建议......通过以下方式隐藏错误:

<category name="com.opensymphony.xwork2.ObjectFactory">
   <priority value="fatal"/>
</category>

这.... TroubleShooting guide section on redirects

答案 1 :(得分:0)

在WAS 7服务器中部署应用程序后,我遇到了这个问题。这是一个现有的应用程序,没有代码更改。

在服务器启动日志中发现以下异常

Failed to write out object: ext___405722372
com.ibm.wkplc.extensionregistry.util.XmlUtilException: Unable to write to the given file

刚清除服务器缓存并重新启动它,问题得到解决。