我有一个关于通过方法调用填充 Primafaces 输出标签的问题。该方法还需要一个参数。
标签如下所示:
<p:dataTable id="answerToQuestionDialogTable" var="answer" value="#{allQuestionBean.answers}">
<p:column headerText="Counts For this Answer">
<p:outputLabel value="#{allQuestionBean.votingCounter}">
<f:param name="id" value="#{answer.answerId}"/>
</p:outputLabel>
</p:column>
</p:dataTable>
在我的支持 Bean 中,我有一个名为“votingCounter”的整数字段,并带有以下 Getter:
public int getVotingCounter() {
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
int answerID = Integer.parseInt(params.get("id"));
return answeredDAO.getCountForAnswer(answerID);
}
如果我尝试加载站点,我会从我的 AppServer(Tomcat 6)获得以下 LogOutput:
04.09.2012 04:30:47 com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback visit
SCHWERWIEGEND: javax.el.ELException: /pages/allQuestion.xhtml @69,81 value="#{allQuestionBean.votingCounter}": Error reading 'votingCounter' on type bean.view.AllQuestionBean
谁能解释我为什么这行不通,并且可以给我一个解决方案,我如何调用该方法来用文本填充标签?