我有一个JSF 2.2页面,其中包含表单和<h:commandButton>
来调用方法,在提交按钮之后,方法调用成功并且所有指令都正常工作
问题: 提交按钮后,我得到一个空页面,浏览器中的URL仍未更改
我想要的是,提交后,页面保持不变并显示咆哮消息。
managedBean.java
@ManagedBean(name="consignmentShipBean")
@ViewScoped
public class ConsignmentShipBean implements Serializable{
public void send(){
//some instructions to do
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage("Successful", "__") );
}
}
page.xhtml
<p:growl id="growl" globalOnly="true" autoUpdate="true"/>
<h:form>
...
<h:commandButton value="Send" actionListener="#{consignmentShipBean.send}" />
</h:form>
更新 按钮提交后的结果:
答案 0 :(得分:-1)
您必须执行Ajax请求,而不是通常的请求。使用标准按钮或PrimeFaces按钮:
<h:commandButton value="Send" actionListener="#{consignmentShipBean.send}" >
<f:ajax update="growl"/>
</h:commandButton>
或者
<p:commandButton value="Send"
actionListener="#{consignmentShipBean.send}" update="growl" />