繁体   English   中英

JSF 2.0 - 将“h:inputTextarea”嵌套在“h:repeat”中时出现问题

[英]JSF 2.0 - Problem getting 'h:inputTextarea' nested in a 'h:repeat'

我只是将我的项目移动到 JSF2.0 并且我遇到了这个问题。 我只是无法获得位于 ah:repeat 中的 inputTextarea。 在重复之外,效果很好......

有谁知道这个的解决方案? 我猜这是一件简单的事情。

观点:(只有重要的)

    <ui:repeat value="#{pub.commentList}" var="com">
    <h:panelGroup>
                        <h:form id="pub" >                                            
                            <h:inputTextarea id="comment2" value="#{classController.msgComment}"  />                        
                            <div>
                                <h:commandButton type="submit" value="Postar" action="#{classController.saveComment}"  />                            
                            </div>
                        </h:form>
                    </h:panelGroup>
    </ui:repeat>

豆豆一切正常。 只是属性“msgComment”的获取/设置。

感谢您的回复!

您需要将值绑定到当前迭代的 object,而不是父托管 bean。

<h:inputTextarea id="comment2" value="#{com.msgComment}" />

我认为您想要做的是(假设您的容器支持 EL 2.2):

<ui:repeat value="#{pub.commentList}" var="com">
    <h:panelGroup>
        <h:form id="pub" >                                            
            <h:inputTextarea id="comment2" value="#{com.msgComment}"  />                        
            <div>
                <h:commandButton type="submit" value="Postar" action="#{classController.saveComment(com)}"  />                            
            </div>
        </h:form>
    </h:panelGroup>
</ui:repeat>

在你的classController bean 中:

public String saveComment(Comment com) {
    //do stuff
    return "success"; //or anything
}

如果您没有 EL 2.2,您应该使用setPropertyActionListener做一些简单的解决方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM