Friday, May 6, 2011

How to fix redirect OGNL error, Unable to set param?

I am not sure if this is me or if this is a bug.

I got the following error

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)

And my config is pretty minimal

<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>

And my class has a pair of get/set method. And that's it. Nothing Fancy

I have found this thread in the forum. But it doesn't solve my problem

I am using

Struts 2.1.16 Spring 2 Spring Security + CAS

(The funny behavior is it sends me to the CAS server after the error, but I guess it will be corrected after the redirect issue got fixed)

From stackoverflow
  • it seems like a bug with Struts2. they recommend...hiding the error by:

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

    from....TroubleShooting guide section on redirects

  • For me it does "dest" comes out as null. There is a getter and setter for it in both the current action and the redirect action. What is the issue?

0 comments:

Post a Comment