Как исправить ошибку перенаправления 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.Вот и все.Ничего особенного
я нашел этот ветка на форуме.Но это не решает мою проблему
Я использую
Стойки 2.1.16 Spring 2 Spring Security + CAS
(Забавное поведение: после ошибки меня отправляют на CAS-сервер, но я думаю, это будет исправлено после устранения проблемы с перенаправлением)
Решение
это похоже на ошибку Struts2.они рекомендуют... скрыть ошибку:
<category name="com.opensymphony.xwork2.ObjectFactory">
<priority value="fatal"/>
</category>
от....Раздел руководства по устранению неполадок с перенаправлениями
Другие советы
Я столкнулся с этой проблемой после развертывания приложения на сервере WAS 7.Это было существующее приложение, и код не менялся.
В журналах запуска сервера обнаружены следующие исключения.
Failed to write out object: ext___405722372
com.ibm.wkplc.extensionregistry.util.XmlUtilException: Unable to write to the given file
Просто очистил кеш сервера и перезапустил его, и проблема решена.