我与commandButton进行了对话,这就是我要做的事情:
这是我正在使用的代码:
<p:commandButton value="Submit"
action="<some java work>"
oncomplete="dialogue.hide(); sideTabs.select(1)"
update="<update side tab">
</p:commandButton>
问题是,这只能在刷新之间运行一次。我的意思是,我点击按钮,一切正常 - 选项卡更改为请求的选项卡,选项卡更新,对话框消失。但是当我再次单击该按钮时,确实选中了所请求的选项卡,但在我按下f5之前没有正确刷新。一旦我这样做,我可以再次单击对话框按钮,选项卡将再次正确刷新,但再一次,只有一次 - 直到我再次点击f5。所以,像这样:
有谁知道为什么会这样?我是否需要在commandButton中添加一些页面刷新机制?如果是这样,这是怎么做到的? 感谢!!!
答案 0 :(得分:1)
我试图复制这个问题没有成功。
以下是我的ViewScoped bean的属性:
private String str1 = "a";
private String str2 = "b";
private String update = ":f:t";
private Integer index = 0;
以下是观点:
<h:form id="f">
<p:tabView id="t" widgetVar="tVar" activeIndex="#{viewMBean.index}" >
<p:tab id="a" title="A" >
#{viewMBean.str1}
</p:tab>
<p:tab id="b" title="B">
#{viewMBean.str2}
</p:tab>
</p:tabView>
</h:form>
<p:dialog id="d" widgetVar="dVar">
<h:form>
<p:inputText value="#{viewMBean.str1}" />
<br />
<p:inputText value="#{viewMBean.str2}" />
<br />
<p:inputText value="#{viewMBean.update}" />
<br />
<p:inputText value="#{viewMBean.index}" />
<br />
<p:commandButton value="Submit" update="#{viewMBean.update}" oncomplete="dVar.hide();" />
</h:form>
</p:dialog>
我认为问题出在你代码的其他地方。