我在使用JSF ajax时遇到问题,我有如下命令链接:
<h:form id="form1">
<h:commandLink value="#{bean.title}">
<f:ajax render=":form1:details" listener="#{bean.populateDetails}"/>
<f:param value="123" name="paramValue"/>
</h:commandLink>
<h:panelGroup id="details">
....
</h:panelGroup>
</h:form>
和下面的支持bean方法:
public class BackingBean extends PageCodeBase implements Serializable{
.....
public void populateDetails(AjaxBehaviorEvent ae){
logger.info("Inside Ajax call");
String param = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("paramValue");
logger.info("paramValue = " + param );
}
.....
}
问题在于,每当我单击commandLink而没有任何等待或延迟时,我在日志中得到了ViewExpiredException,并且没有调用监听器方法,并且很少它可以工作并调用监听器,我无法解决问题。
注意:这是部署在IBM Portal上的JSF portlet应用程序
我在这里查了很多问题,但没有找到任何答案来解决我的问题