选择 p:selectOneRadio 时如何使用 ajax 更新组件?
How to update component with ajax when selecting a p:selectOneRadio?
我正在尝试使用 ajax 在选择单选按钮时更新我的 jsf 页面中的组件。
托管 bean 如下:
@SessionScoped
@ManagedBean
public class TestMB {
ArrayList<String> domande;
String[] risposte = new String[3];
public TestMB() {
domande = new ArrayList<String>();
domande.add("Domanda1");
domande.add("Domanda2");
domande.add("Domanda3");
}
public ArrayList<String> getDomande() {
return domande;
}
public void setDomande(ArrayList<String> domande) {
this.domande = domande;
}
public String[] getRisposte() {
return risposte;
}
public void setRisposte(String[] risposte) {
this.risposte = risposte;
}
public void asserta() {
System.out.println(risposte[0]);
}
}
JSF 页面是这个:
<h:form id="label">
<p:panelGrid columns="1" layout="grid" styleClass="showcase-text-align-center">
<p:repeat var="domanda" value="#{testMB.domande}" varStatus="status">
<h1>#{domanda}</h1>
<p:selectOneRadio value="#{testMB.risposte[status.index]}">
<f:selectItem itemLabel="1" itemValue="1"></f:selectItem>
<f:selectItem itemLabel="2" itemValue="2"></f:selectItem>
<f:selectItem itemLabel="3" itemValue="3"></f:selectItem>
</p:selectOneRadio>
</p:repeat>
</p:panelGrid>
<p:outputLabel value="#{testMB.risposte[0]}"></p:outputLabel>
<p:commandButton update="label" value="Si" />
</h:form>>
我想在更改标签中的选项时更新表单。
如果我按下 commandButton 一切正常,但如何在单选按钮选择中实现相同的行为?
提前致谢!
您有 <p:ajax>
组件。尝试这样的事情:
<p:selectOneRadio value="#{testMB.risposte[status.index]}">
<f:selectItem itemLabel="1" itemValue="1"></f:selectItem>
<f:selectItem itemLabel="2" itemValue="2"></f:selectItem>
<f:selectItem itemLabel="3" itemValue="3"></f:selectItem>
<p:ajax update="label" />
</p:selectOneRadio>
我正在尝试使用 ajax 在选择单选按钮时更新我的 jsf 页面中的组件。 托管 bean 如下:
@SessionScoped
@ManagedBean
public class TestMB {
ArrayList<String> domande;
String[] risposte = new String[3];
public TestMB() {
domande = new ArrayList<String>();
domande.add("Domanda1");
domande.add("Domanda2");
domande.add("Domanda3");
}
public ArrayList<String> getDomande() {
return domande;
}
public void setDomande(ArrayList<String> domande) {
this.domande = domande;
}
public String[] getRisposte() {
return risposte;
}
public void setRisposte(String[] risposte) {
this.risposte = risposte;
}
public void asserta() {
System.out.println(risposte[0]);
}
}
JSF 页面是这个:
<h:form id="label">
<p:panelGrid columns="1" layout="grid" styleClass="showcase-text-align-center">
<p:repeat var="domanda" value="#{testMB.domande}" varStatus="status">
<h1>#{domanda}</h1>
<p:selectOneRadio value="#{testMB.risposte[status.index]}">
<f:selectItem itemLabel="1" itemValue="1"></f:selectItem>
<f:selectItem itemLabel="2" itemValue="2"></f:selectItem>
<f:selectItem itemLabel="3" itemValue="3"></f:selectItem>
</p:selectOneRadio>
</p:repeat>
</p:panelGrid>
<p:outputLabel value="#{testMB.risposte[0]}"></p:outputLabel>
<p:commandButton update="label" value="Si" />
</h:form>>
我想在更改标签中的选项时更新表单。 如果我按下 commandButton 一切正常,但如何在单选按钮选择中实现相同的行为?
提前致谢!
您有 <p:ajax>
组件。尝试这样的事情:
<p:selectOneRadio value="#{testMB.risposte[status.index]}">
<f:selectItem itemLabel="1" itemValue="1"></f:selectItem>
<f:selectItem itemLabel="2" itemValue="2"></f:selectItem>
<f:selectItem itemLabel="3" itemValue="3"></f:selectItem>
<p:ajax update="label" />
</p:selectOneRadio>