Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf h:ui中的InAuthiden:重复_Jsf - Fatal编程技术网

Jsf h:ui中的InAuthiden:重复

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.

我在一个循环中创建一个h:form,我希望每个表单都有一个隐藏的输入,其值取自循环的变量。像这样:

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