Как отобразить подтверждающее сообщение в Tapestry5? - PullRequest
3 голосов
/ 11 мая 2010

Я занимаюсь разработкой веб-сайта в рамках проекта за последний год и хочу показать сообщение, подтверждающее отправку электронного письма.

Я знаю, как отображать пользовательские сообщения об ошибках в форме, т.е. выне может идти дальше, пока не исправлены следующие ошибки: имя пользователя не известно!

Я хочу отобразить сообщение, в котором будет сказано: ваше письмо отправлено!после того как я отправлю электронное письмо.Мне сказали, что я должен показать это сообщение через флэш-память.

Я не уверен, как это сделать, любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 11 мая 2010

Самое простое, что можно сделать, это показать условное сообщение на странице, отображаемой при отправке сообщения, например:

<span t:type="If" t:test="messageSent">Your message was sent.</span>

Фрагмент класса страницы:

@Persist(PersistenceConstants.FLASH)
private boolean messageSent;


public boolean isMessageSent() {
    return this.messageSent;
}

@OnEvent(EventConstants.SUCCESS)
void onSendMessage() {
    ...
    this.messageSent = true;
}

Если в вашем коде есть другие места, где вы хотите отображать сообщения, или если вы хотите использовать какой-нибудь изящный AJAX, возможно, вам понадобится создать компонент сообщений для добавления в макет.

0 голосов
/ 26 апреля 2014

Начиная с Tapestry 5.3, вы можете использовать компонент Оповещения.

Шаблон:

<t:alerts />

Класс страницы:

@Inject
private AlertManager alertManager;

@OnEvent(EventConstants.SUCCESS)
void onSendMessage() {
     ...
     this.alertManager.success("Your message was sent.");
}

Jumpstart имеет пример этого. Вы можете поиграть с ним на http://jumpstart.doublenegative.com.au/jumpstart7/examples/component/alerts

...