Jsf h:commandButton提交后为空页
我有一个JSF2.2页面,其中包含表单和一个调用方法的Jsf h:commandButton提交后为空页,jsf,Jsf,我有一个JSF2.2页面,其中包含表单和一个调用方法的,在submit按钮之后,方法调用成功,所有指令都正常工作 问题: 在按钮提交之后,我得到了一个空页面,浏览器中的URL仍然保持不变 我想要的是,提交后,页面保持不变,并显示咆哮消息 managedBean.java @ManagedBean(name="consignmentShipBean") @ViewScoped public class ConsignmentShipBean implements Serializable{
,在submit按钮之后,方法调用成功,所有指令都正常工作
问题:
在按钮提交之后,我得到了一个空页面,浏览器中的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>
...
更新
按钮提交后的结果:
您必须执行Ajax请求,而不是通常的请求。使用一个标准按钮或一个按钮:
<h:commandButton value="Send" actionListener="#{consignmentShipBean.send}" >
<f:ajax update="growl"/>
</h:commandButton>
或
您是否根据目前提供的信息重现了OP的问题?即使没有ajax,页面也应该保持不变(仅刷新),并且消息应该显示出来。这一页根本不应该空白。这个答案并不能解释OP为什么会面临这个问题。是的,我认为这是一个过渡的空白页面,然后又是原来的URL@巴卢斯克,我应该删除这个答案吗?谢谢。@BalusC我的firefox被感染了,我试着用chrome测试我的页面,控制台浏览器没有什么奇怪的地方,我只得到了一个空白page@BalusC您可以看到我的编辑。到目前为止,问题在提供的信息中不可见。想象一下,我们有一个完全空白的项目,所有内容都设置为默认值和最新版本。仅根据问题中提供的信息,我们如何重现您的问题?当我按照标准复制粘贴您的bean和XHTML以及存根/自动完成缺少的代码(Java导入、HTML头/体)时,一切对我来说都很好。另见
<p:commandButton value="Send"
actionListener="#{consignmentShipBean.send}" update="growl" />