Java 関数からのメッセージでアラートを発生させようとしています。システムは次のように単純です。
public class AdminBean extends AbstractListBean {
private Collection <Hours> A;
private ModelDto selectedModel;
private String message;
public void insert() {
//some preparations
setMessage("");
if ( selectedModel!= null ) {
try{
//try insert of selected model
setMessage("Success");
}catch (Exception e) {
setMessage("Unespected Error");
}
}else{
setMessage("Not available");
}
//getHttpServletRequest().setAttribute("message", getMessage());
//FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message));
}
}
そして、クライアント側では、次のように xhtml を書きました。
<a4j:commandLink styleClass="inscribirse" rendered="#{model.status eq 'N' and model.styleClass eq 'font-weight:bold;'}">
<a4j:jsFunction name="okClicked" actionListener="#{AdminBean.insert}" oncomplete="reDirigir(message)">
<a4j:actionparam name="message" assignTo="#{AdminBean.message}"/>
</a4j:jsFunction>
<h:outputText value="Inscribirse" />
<f:setPropertyActionListener target="#{AdminBean.selectedModel}" value="#{model}" />
</a4j:commandLink>
したがって、A4J コマンドをクリックすると、関数「挿入」が実行され、データベースを監視していることがわかりましたが、「reDirigir」関数は機能していません。
function reDirigir(c){
alert(c);
window.location.href='#{facesContext.externalContext.request.contextPath}/StrutsJsfServlet?beanName=menuBean&method=eventos';
}
私の意図は、Bean からのメッセージを表示してから、ページを更新することです。助言がありますか?
どうもありがとうございました!
PS: この xhtml コードはコレクション A の反復内にあり、 #{model} は反復子で使用されるエイリアスです。