Jsf 2 PF子表内的单元格或行更新
我对JSF没有太多的经验。我很难用从@BalusC answer中提取的只更新子表中特定于动态响应列的单元格: 然而,由于Mojarra 2.2.5开始支持它,它只是停止验证它;因此,您将永远不会再面临上述问题中提到的异常;稍后计划进行另一个增强修复 这仅在当前的MyFaces 2.2.7和PrimeFaces 5.2版本中不起作用。支持可能会在未来的版本中出现。同时,最好的办法是更新迭代组件本身,或者更新父组件,以防它不呈现HTML,如 我在Mojarra 2.2.11中成功地检查了它。如果允许您在每次用户单击答案时更新所有问题,请使用:Jsf 2 PF子表内的单元格或行更新,jsf-2,primefaces,Jsf 2,Primefaces,我对JSF没有太多的经验。我很难用从@BalusC answer中提取的只更新子表中特定于动态响应列的单元格: 然而,由于Mojarra 2.2.5开始支持它,它只是停止验证它;因此,您将永远不会再面临上述问题中提到的异常;稍后计划进行另一个增强修复 这仅在当前的MyFaces 2.2.7和PrimeFaces 5.2版本中不起作用。支持可能会在未来的版本中出现。同时,最好的办法是更新迭代组件本身,或者更新父组件,以防它不呈现HTML,如 我在Mojarra 2.2.11中成功地检查了它。如果允
你如何用JBoss实现Mojarra?谢谢你的回复。将Mojarra 2.2.5+添加到JBoss 7.1.1服务器的过程并不简单。我的笔记本电脑中也安装了JBoss,最后我选择安装包含Mojarra 2.2.11的Wildfly9。我已经按照建议安装了包含Mojarra 2.2.11的Wildfly9,但问题仍然存在。你很好ome。如果答案帮助您解决了问题,请接受它。若要将答案标记为已接受,请单击答案旁边的复选标记,将其从空心切换为绿色。我尝试过,但由于我的声誉不足15,因此无法接受。
<h:body>
<h:form id="form1">
<p:tabView id="tabView1" prependId="false" >
<p:tab title="TAB1" >
<p:dataTable id="mainTable" var="head" value="#{subTableView.headers}" editable="true" editMode="cell">
<p:subTable id="subbTable" var="question" value="#{head.questions}" >
<f:facet name="header">
<h:outputText value="#{head.name}" />
</f:facet>
<p:column>
<h:outputLabel value="#{question.question}" />
</p:column>
<p:column>
<p:selectOneRadio id="mainSelect" value="#{question.select1}">
<f:selectItem itemLabel="Yes" itemValue="#{question.responseOfYes}" />
<f:selectItem itemLabel="No" itemValue="#{question.responseOfNo}" />
<p:ajax update="response2" process=":form1:tabView1:mainTable"
listener="#{questionBean.saveAnswers(question.select1,question.id)}" />
</p:selectOneRadio>
</p:column>
<p:column id="colToUpdate">
<h:outputText id="response2" value="#{question.select1}" binding="#{input2}" />
</p:column>
</p:subTable>
</p:dataTable>
</p:tab>
<p:tab title="TAB2">
</p:tab>
<h:form id="form">
<ui:repeat id="list" value="#{yourBean.lista}" var="item">
<h:outputText id="item" value="#{item}" /><br/>
</ui:repeat>
<p:commandButton onclick="return false;" value="Prueba" render=":form:list:1:item" action="#{yourBean.updateSecond()}"/>
<h:commandButton value="Update second item">
<f:ajax render=":form:list:1:item" listener="#{yourBean.updateSecond()}"/>
</h:commandButton>
</h:form>
@Named
@ViewScoped
public class yourBean implements Serializable{
private static final long serialVersionUID = 1L;
private List<Integer> lista = new ArrayList<>();
public List<Integer> getLista() {
return lista;
}
public void updateSecond(){
this.lista.set(1, 9999);
}
@PostConstruct
public void populateModel(){
lista = Arrays.asList(1,2,3,4,5,6,7,8,9);
}
}