Jsf h:ui中的InAuthiden:重复
我在一个循环中创建一个h:form,我希望每个表单都有一个隐藏的输入,其值取自循环的变量。像这样:Jsf h:ui中的InAuthiden:重复,jsf,Jsf,我在一个循环中创建一个h:form,我希望每个表单都有一个隐藏的输入,其值取自循环的变量。像这样: <ui:repeat value="#{controller.elements}" var="element"> <h:form> <h:inputHidden value="#{element.value}"/> <!-- Taken from element.value, but submitted to controller.
<ui:repeat value="#{controller.elements}" var="element">
<h:form>
<h:inputHidden value="#{element.value}"/> <!-- Taken from element.value, but submitted to controller.myvalue -->
<h:commandLink action="#{controller.myaction}"/>
</h:form>
</ui:repeat>
问题是,如何从一个源提供输入值,例如从#{element.value},但在提交时,我希望将其设置为#{controller.myvalue}
显然,value属性同时指定了源和目标。我试着这样做:
<ui:param name="#{controller.myvalue}" value="#{element.value}"/>
<h:inputHidden value="#{controller.myvalue}"/>
这没用。这一定是一个已知的问题,但我找不到解决办法
谢谢你的帮助,
尤里。使用
这将在controller.myaction()之前执行controller.setValue(element.getValue())
<ui:repeat value="#{controller.elements}" var="element">
<h:form>
<h:commandLink action="#{controller.myaction}">
<f:setPropertyActionListener target="#{controller.value}" value="#{element.value}" />
</h:commandLink>
</h:form>
</ui:repeat>