У меня есть проблема, которую я не могу решить.
Хорошо, давайте предположим, что мы вызываем метод (в компоненте поддержки) с веб-страницы (возможно, jsp, xhtml, portlet ...)) нажатие кнопки.
<h:form>
....
<h:inputText value="#{errorManager.errorTestDataBean.errore00}" />
<h:commandButton id="go" value="GO" action="#{errorManager.triggerError}" />
...
</h:form>
Форма отправляется со своими значениями.
Предположим также, что мы получим проблему (исключение) в процессе действия.
Я написал (и зарегистрировал) ActionListener, который будет перехватывать необработанное исключение (и будет что-то делать для его обработки):
public class ExceptionHandlingActionListener extends ActionListenerImpl
{
public void processAction(ActionEvent event)
{
try
{
super.processAction(event); //+THE ERROR HAPPENS IN THE SUPER CLASS+
}
catch(Exception exception)
{
exception.printStackTrace();
......... do something here ...............
FacesContext facesContext = FacesContext.getCurrentInstance();
Application application = facesContext.getApplication();
NavigationHandler navigationHandler = application.getNavigationHandler();
navigationHandler.handleNavigation(facesContext, null, "error"); /* FORWARD TO AN ERROR PAGE */
facesContext.renderResponse();
}
}
}
Это прекрасно работает ... НО ... Мне нужно знать данныекоторые находятся (были?) в отправленной форме.
Как я могу получить эту информацию?Я хотел бы использовать универсальный метод, поскольку ошибка может возникать повсюду в приложении (я действительно не знаю clientId или другую специфическую информацию об объектах).
Также можно получить ВСЕ опубликованные данные и записать ихв базе данных: я проанализирую данные позже !!
К сожалению, мы все еще на JSF 1.2.
Есть идеи?
Большое спасибо!Томмазо