我正在处理的 Seam 应用程序遇到了一点问题,我想知道是否有人知道解决方法。我的应用程序中有一个表单,它使用 AJAX 根据下拉框中的项目显示某些输入框。除了在我的输入框中设置 ID 之外,该代码工作正常。看起来 JSF 不允许我通过变量设置 ID。标签中的“for”等其他属性很好。这是一些解释我的意思的代码:
<ui:repeat value="#{serviceHome.instance.serviceSettings}" var="currSetting" >
<li>
<!-- Imagine the below works out as "settingABC" -->
<c:set var="labelKey" value="setting#{jsfUtils.removeWhitespace(currSetting.key.name)}" />
<!-- Labelkey is correctly added into this input so for = "settingABC" -->
<h:outputLabel for="#{labelKey}" styleClass="required generated" value="#{currSetting.key.name}:"/>
<s:decorate styleClass="errorwrapper">
<!-- Labelkey ISN'T correctly added into this input. Instead we just get "setting" -->
<h:inputText id="#{labelKey}" value="#{currSetting.value}"/>
<a4j:outputPanel ajaxRendered="true">
<h:message for="#{labelKey}" styleClass="errormessage" />
</a4j:outputPanel>
</s:decorate>
</li>
</ui:repeat>
有谁知道我怎么能克服这个问题?