【发布时间】:2017-11-20 00:10:17
【问题描述】:
我的复合组件包含以下表单:
<cc:interface componentType="answerCompositeComponent">
<cc:attribute name="AnswerType" type="code.elephant.domainmodel.AnswerType" required="true" />
<cc:attribute name="ItemSource" type="code.elephant.domainmodel.Answer" required="true" />
<cc:attribute name="QuestionId" type="java.lang.Long" required="true" />
</cc:interface>
<cc:implementation>
<input jsf:id="sc#{cc.attrs.ItemSource.answerId}" />
</cc:implementation>
如何在我的支持组件中访问<input jsf:id="sc#{cc.attrs.ItemSource.answerId}" /> 的值?我在覆盖的processUpdates 方法中在我的支持bean 中尝试了以下内容。
Answer ItemSource = (Answer) getValueExpression("ItemSource").getValue(context.getELContext());
String formid = String.format("sc%d", ItemSource.getAnswerId());
String get = context.getExternalContext().getRequestParameterMap().get(formid);
String get 始终为空。有没有办法获取输入的值?
PS:我知道在 jsf 中使用纯 html 不是它的目的。我只是对如何实现我的计划感兴趣。
【问题讨论】:
标签: jsf jsf-2 composite-component