Динамические идентификаторы в JSF / Seam

У меня небольшая проблема с приложением Seam, над которым я работаю, и мне было интересно, если кто-нибудь знает способ обойти это. В моем приложении есть форма, которая использует AJAX для отображения определенных полей ввода в зависимости от элемента в раскрывающемся списке. Код работает нормально, за исключением установки идентификаторов в моих полях ввода. Похоже, JSF не позволяет мне устанавливать идентификатор через переменную. Другие атрибуты, такие как «для» в метках, в порядке. Вот код, объясняющий, что я имею в виду:

<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>

Кто-нибудь знает, как я могу пройти через это?

Ответы на вопрос(3)

Ваш ответ на вопрос