我当前的代码。
<h:form>
<h:panelGroup id="messagePanel" layout="block">
<h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
</h:panelGroup>
<h:panelGrid columns="2">
// some form input stuff here..
</h:panelGrid>
<h:commandButton class="register-btn" action="#{accountController.create}" value="#{bundle.Register}">
<f:ajax event="action" execute="@form" render="messagePanel"/>
</h:commandButton>
</h:form>
messagePanel 是显示验证错误的地方。
创建()方法
public String create() {
try {
getFacadeUser().create(currentUser);
FacesContext.getCurrentInstance().getExternalContext().redirect("/index.xhtml");
return null;
} catch (Exception e) {
JsfUtil.addErrorMessage(e, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
return null;
}
}
成功创建后是否可以调用javascript?目前我的创建表单是一个弹出模式,我想要的是在成功创建后隐藏模式而不是重定向到页面。
我正在使用 JSF 2.1