h:commandButton提交后的空页面

时间:2015-10-17 14:46:16

标签: jsf

我有一个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>

更新 按钮提交后的结果:

enter image description here

1 个答案:

答案 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" />