Как отобразить сообщение об успехе в Struts? - PullRequest
3 голосов
/ 02 апреля 2009

мы могли бы отображать ошибки в Struts, выполняя actionErrors.add (ключ, новое Actionmessage («строка»)), addErrors (request, actionErrors); а затем вывести его на страницу JSP через

Мне интересно, как выводить сообщения об успехах в Struts? Как у вас это нормально / условно?

Ответы [ 2 ]

10 голосов
/ 06 марта 2010

В Struts 1 вы можете использовать ActionMessage экземпляры для представления сообщения, которое будет отображаться в JSP

ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message1");
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message2");
saveMessages(request, messages); // storing messages as request attributes

«message1» и «message2» являются ключами для файла свойств вашего ресурса. Очень похоже на обработку ActionError

Отображение сообщений в JSP похоже на ошибки действий, но вы должны включить свойство «message»

<logic:messagesPresent message="true">
   <html:messages id="message" message="true">
     <bean:write name="message"/><br/>
   </html:messages>
</logic:messagesPresent>

В этом примере сообщения были сохранены как запросы атрибутов. Если вы хотите контролировать имя атрибута, вы можете указать любое имя атрибута

ActionMessages messages = new ActionMessages();
messages.add("appMessage", new ActionMessage("message1");
saveMessages(request, messages); // storing messages as request attributes

Теперь сообщения хранятся под атрибутом запроса "appMessage". Установка имени настраиваемого атрибута может быть полезно, если вы хотите использовать теги JSTL вместо тегов Struts в JSP, например

Кроме того, вы можете сохранять действия в области видимости сеанса.

saveMessages(request.getSession(), messages); // storing messages as request attributes

Вы можете использовать эту функцию, чтобы показывать липкие сообщения во время сеанса пользователя, например, например, полное имя пользователя.

1 голос
/ 02 апреля 2009

Если вы используете Struts2, вы должны иметь возможность использовать addActionMessage вместо addActionError.

http://struts.apache.org/2.0.14/struts2-core/apidocs/com/opensymphony/xwork2/ValidationAwareSupport.html

В вашем сообщении отсутствует то, что вы поместили в свой JSP, но если вы добавляете сообщение действия, вы можете использовать тег <s:actionmessage/> для отображения того, что вы добавили.

http://struts.apache.org/2.0.14/docs/actionmessage.html

...