我正在研究一個Seam應用程序時遇到了一些問題,我想知道是否有人知道它的方法。我的應用程序中有一個表單,它使用AJAX根據下拉框中的項目顯示某些輸入框。代碼工作正常,除了在我的輸入框中設置ID。它看起來像JSF不讓我通過變量設置ID。其他屬性如標籤中的「for」都很好。這裏有一些代碼解釋我的意思:JSF/Seam中的動態標識
<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>
有沒有人有任何想法我可以通過這個?
哎呦。我離開了這一段時間沒有我。我明白爲什麼我不能在一個循環中分配ID,但是我知道我在設置什麼,因爲對於循環中的每次迭代,ID(labelKey)都是唯一的。 – 2009-01-27 14:58:05