У меня есть проблема, которую я не могу решить.Как получить данные формы после отправки
Ну, давайте предположим, что мы вызываем метод (в фоновом режиме) с веб-страницы (возможно, jsp, xhtml, портлет ...), нажимая кнопку.
<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.
Любые идеи?
Большое спасибо! Tommaso