与数据表中的导航规则链接/不起作用

发布于 2024-09-30 14:28:47 字数 1541 浏览 3 评论 0原文

我一直在尝试在数据表的每一行中创建一个链接,如下所示:

        <f:view>
        <h:form>
            <p:dataTable id="TasksList"
                         value="#{TaskController.tasks}"
                         var="task"
                         rendered="#{TaskController.currentCorbeilleId != null}">
                <p:column>
                    ...
                </p:column>
                <p:column>
                    ...
                </p:column>
                <p:column>
                    ...
                </p:column>
                <p:column>
                   ...
                </p:column>
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Link" />
                    </f:facet>
                    <h:commandLink value="GO" action="goToTask">
                        <f:setPropertyActionListener value="#{task.id}" target="#{TaskController.currentTaskId}"/>
                    </h:commandLink>
                </p:column>
            </p:dataTable>
        </h:form>
    </f:view>

但这不起作用。当我点击“GO”时,当前页面会重新加载...... 我尝试在数据表之外复制/发布这部分代码:

<h:commandLink value="GO" action="goToTask">
    <f:setPropertyActionListener value="#{task.id}" target="#{TaskController.currentTaskId}"/>
</h:commandLink>

在这种情况下链接有效。我怎样才能使它在数据表中工作?

谢谢你的回答,

马丁

I have been trying to create a link in each row of a datable like that :

        <f:view>
        <h:form>
            <p:dataTable id="TasksList"
                         value="#{TaskController.tasks}"
                         var="task"
                         rendered="#{TaskController.currentCorbeilleId != null}">
                <p:column>
                    ...
                </p:column>
                <p:column>
                    ...
                </p:column>
                <p:column>
                    ...
                </p:column>
                <p:column>
                   ...
                </p:column>
                <p:column>
                    <f:facet name="header">
                        <h:outputText value="Link" />
                    </f:facet>
                    <h:commandLink value="GO" action="goToTask">
                        <f:setPropertyActionListener value="#{task.id}" target="#{TaskController.currentTaskId}"/>
                    </h:commandLink>
                </p:column>
            </p:dataTable>
        </h:form>
    </f:view>

But this is not working. When I click on "GO" the current page just reloads...
I tried to copy/post this part of the code outside the datatable :

<h:commandLink value="GO" action="goToTask">
    <f:setPropertyActionListener value="#{task.id}" target="#{TaskController.currentTaskId}"/>
</h:commandLink>

And in the case the link works. How can I do to make it works within the datatable?

Thank you for your answers,

Martin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天赋异禀 2024-10-07 14:28:47

尝试将您的 TaskController bean 放入 view 范围。如果包含数据表集合的 bean 处于 request 范围内,我也会遇到类似的问题!

Try putting your TaskController bean into view scope. I had similar problems if the bean containing the collection for the datatable was request scoped!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文