Come risolvere l'errore reindirizzare OGNL, Impossibile impostare param?
Domanda
Non sono sicuro se questo mi è, o se questo è un bug.
ho ottenuto il seguente errore
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)
E la mia configurazione è piuttosto minimale
<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>
E la mia classe ha un paio di metodo get / set. E questo è tutto. Niente di speciale
Ho trovato questa discussione nel forum. Ma non risolve il mio problema
sto usando
Struts 2.1.16 Primavera 2 Primavera di sicurezza + CAS
(Il comportamento divertente è che mi invia al server CAS dopo l'errore, ma credo che sarà corretto dopo l'emissione di reindirizzamento ottenuto risolto)
Soluzione
sembra un bug con Struts2. Essi raccomandano ... nascondere l'errore:
<category name="com.opensymphony.xwork2.ObjectFactory">
<priority value="fatal"/>
</category>
Altri suggerimenti
Ho affrontato questo problema dopo la distribuzione dell'applicazione in era di 7 server. Era un'applicazione esistente e non v'è stato alcun cambiamento di codice.
Trovato le seguenti eccezioni nei registri di start-up del server
Failed to write out object: ext___405722372
com.ibm.wkplc.extensionregistry.util.XmlUtilException: Unable to write to the given file
Proprio cancellato la cache del server e riavviato e la questione ha ottenuto risolto.