2010-05-11 2 views
3

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

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

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

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

+0

Итак, вы хотите отобразить сообщение, которое не является ошибкой формы в Tapestry ... okay. Но какова роль Flash в вашей настройке? – Henning

+0

@Henning: Да, я хотел бы отобразить сообщение, в котором говорится, что ваше электронное письмо было отправлено аналогично тому, как например, например. gmail, когда ваше письмо отправлено. Я никогда не использовал flash раньше, мне просто интересно, как лучше всего отобразить такое сообщение в гобелене? – shane87

ответ

2

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

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

класс Page сниппет:

@Persist(PersistenceConstants.FLASH) 
private boolean messageSent; 


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

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

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

0

С 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

Смежные вопросы