2012-03-15 97 views
0

我有一个奇怪的问题。我正在使用JSF,SEAM和Primefaces在Jboss 7上开发应用程序。最近我有一个奇怪的问题。在我的模板中,我有两个控件: 1.类别 2.通道Primefaces ajax不能正常工作

当用户单击所需的类别时,将更新带有通道的块。如果用户点击频道,他会转到mysite.www/channel/idofchannel。在第一页上,一切正常。但是,当用户转移到mysite.www/channel/idofchannel时,控件不起作用。当我点击这个类别时,commandLink的动作被执行,但不会更新带有通道的块。它是否必须对f:viewParam做任何事情?

谢谢

回答

2

没有你的源代码,我只能猜测。如果您使用p:commandLink,那么原因可能是它默认提交ajax请求。然后,您必须使用update属性来指定将由此ajax调用更新的组件。

下面是从Primefaces showcase一个例子:

<p:commandLink id="ajax" update="panel,display" 
      actionListener="#{pprBean.savePerson}"> 
    <h:outputText value="Ajax Submit" /> 
</p:commandLink> 

另一种选择是设置ajax=false并提交一个完整的请求:

<p:commandLink id="nonAjax" actionListener="#{pprBean.savePerson}" style="margin-right:20px;" ajax="false"> 
    <h:outputText value="Non-Ajax Submit" /> 
</p:commandLink>