Primefaces 表格';导致Ajax问题的渲染属性
我有一个奇怪的问题。我试图在一个模式对话框中放置多个表单,并且根据一个标志一次只显示一个表单,根据用户操作动态地从一个表单切换到另一个表单。问题在于,向表单添加呈现属性会导致Ajax事件无法调用支持bean中的服务器端方法 下面的表单和支持bean是简化的副本,但它演示了这个问题。基本上,如果从h:form id=“form2”中删除了rendered=“#{requestScope.shouldRender}”,并且当您在文本字段中输入时,一切都按预期工作,文本将显示在控制台上。如果将rendered=“#{requestScope.shouldRender}”添加到h:form id=“form2”组件,则根本不会调用该方法 环境是: Primefaces 3.3 春季3.0 WebSphereServer7 下面是一个具有呈现属性的示例表单(删除以使其正常工作):Primefaces 表格';导致Ajax问题的渲染属性,primefaces,Primefaces,我有一个奇怪的问题。我试图在一个模式对话框中放置多个表单,并且根据一个标志一次只显示一个表单,根据用户操作动态地从一个表单切换到另一个表单。问题在于,向表单添加呈现属性会导致Ajax事件无法调用支持bean中的服务器端方法 下面的表单和支持bean是简化的副本,但它演示了这个问题。基本上,如果从h:form id=“form2”中删除了rendered=“#{requestScope.shouldRender}”,并且当您在文本字段中输入时,一切都按预期工作,文本将显示在控制台上。如果将rend
}为什么需要两个单独的表格?你试过把它们放在同一张表上吗?
<h:body>
<h:form id="form1">
<p:commandButton id="showButton" value="Show" update=":panel1">
<f:setPropertyActionListener value="#{true}"
target="#{requestScope.shouldRender}" />
</p:commandButton>
</h:form>
<p:outputPanel id="panel1">
<h:form id="form2" rendered="#{requestScope.shouldRender}">
<p:inputText id="fn" value="#{testBean.fn}">
<p:ajax event="keyup" listener="#{testBean.valueChangeListener}" />
</p:inputText>
</h:form>
</p:outputPanel>
</h:body>
@Component
@Scope("request")
public class TestBean {
private String fn;
public void setFn(String fn) {
this.fn = fn;
}
public String getFn() {
return fn;
}
public void valueChangeListener() {
System.out.println(fn);
}