簡単なメッセージを表示しようとして<p:messages/>
いますが、MyFaces の開発モードのメッセージしかありません。説明します。
私の XHTML ページには、メッセージを表示する次のコードがあります。
<div class="messagePanel">
<p:messages id="msgCalls"
for="msgCalls"
showDetail="true"
showSummary="true"
autoUpdate="true"
closable="true" />
</div>
私の豆で:
@PostConstruct
public void init() {
try {
this.linhaCelularId = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("linhaCelularId");
if (this.linhaCelularId == null || this.linhaCelularId.trim().isEmpty()) {
Messages.addGlobalError(MENSAGEM_GLOBAL, "Nenhum celular especificado para listagem de ligações");
}
else {
this.linhaCelularTitular = getLinhaCelularTitularService().getById(Long.parseLong(this.linhaCelularId));
if (this.linhaCelularTitular == null) {
Messages.addGlobalError(MENSAGEM_GLOBAL, "Celular não encontrado!");
}
else if (!this.linhaCelularTitular.getResponsavel().getAn8().equals(this.loginMB.getLoggedUser().getAn8())) {
Messages.addGlobalError(MENSAGEM_GLOBAL, "Você não tem permissão para acessar essa página. Esse erro foi reportado.");
}
else {
this.faturaTitular = getFaturaTitularService().getUltimaFaturaCarregada();
this.itensFaturaTitular = getFaturaTitularService().getItensFaturaPorCelularFatura(this.linhaCelularTitular, this.faturaTitular);
}
}
}
catch (ServiceException e) {
logger.error("Erro ao buscar ultima fatura carregada", e);
throw new RuntimeException(e);
}
}
問題は、によって追加された、Faces.addGlobalError()
またはFaces.addError()
my によって表示されないメッセージ<p:messages.../>
です。このメッセージは、開発モードの未処理メッセージにのみ表示されます。HTML を検査するときに見てみましょう。
<ul id="javax_faces_developmentstage_messages"
title="Project Stage[Development]: Unhandled Messages"
style="color:orange">
<li>
<span title="Project Stage[Development]: Unhandled Messages">Você não tem permissão para acessar essa página. Esse erro foi reportado.</span>
</li>
</ul>
私はすでに他の方法をいくつか試しました:
- XHTMLのみ
<p:messages/>
に置きます。<h:messages>
- と を使用しようとしまし
Faces.addGlobalError()
たFaces.addError()
。 - 使用済み
FacesMessage message = new FacesMessage();
上記のどれも機能しませんでした。他に何をすべきかわかりません。現在、MyFaces 2.1.12、Primefaces 4.0、および Omnifaces 1.5 を使用しています。