jsf - 命令按钮操作不起作用

标签 jsf redirect

<分区>

我有这个数据表:

<h:dataTable value="#{orderController.orderList}" var="order"
                                     styleClass="table table-striped">
                            <h:column>
                                <f:facet name="header">#</f:facet>
                                <h:outputText value="#{order.orderNo}" escape="false"/>
                            </h:column>
                            <h:column>
                                <f:facet name="header">Cliente</f:facet>
                                <h:outputText value="#{order.client}" escape="false"/>
                            </h:column>
                            <h:column>
                                <f:facet name="header">Data</f:facet>
                                <h:outputText value="#{order.date}" escape="false"/>
                            </h:column>
                            <h:column>
                                <f:facet name="header">Status</f:facet>
                                <h:outputText value="#{order.status}" escape="false"/>
                            </h:column>
                            <h:column>
                                <f:facet name="header"></f:facet>
                                <h:form>
                                    <h:commandButton action="#{orderController.orderDetail}" value="Detalhe" styleClass="btn btn-info"/>
                                </h:form>
                            </h:column>
</h:dataTable>

我正在显示一个订单列表,每个列表都有一个“详细信息”按钮,可以将用户重定向到 orderDetail.html内页views/fornecedores .

我已经调试,当我点击 commandButton 时,它没有调用我的 bean 函数。[

我也试过这个:<h:commandButton action="views/fornecedores/orderDetail.html" value="Detalhe" styleClass="btn btn-info"/>什么也没有,它一直将我重定向到同一页面,orderSearch.html .

我需要的是调用将接收 orderNo 的方法参数并将加载对象并重定向到 orderDetail.html页面。

我做错了什么或者这种方法的最佳方法是什么?

最佳答案

在这种特殊情况下,当您嵌套在 HTML 中是非法的表单时,就会发生这种情况。这也可能发生在 #{orderController} 时。是请求范围和 orderList内容取决于基于请求的值,这会导致在处理表单提交时列表发生不兼容的更改。

因此,请确保您没有嵌套多个 <h:form>组件彼此并确保 #{orderController}@ViewScoped bean 并且你没有操纵 orderList在它的 getter 方法中。

另见:


关于您的具体功能需求,<h:link><f:param><f:viewParam>对此是一种更明智的方法。它是可收藏的,而且对 SEO 更友好。另见 Communication in JSF 2.0 - Processing GET request parameters .

关于jsf - 命令按钮操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10438609/

相关文章:

java - 如何从 JavaBean 刷新 jsf 页面

jsf - 应用 <p :commandButton> style to <p:commandLink> because I basically need <p:commandButton target ="_blank">

html - 显示来自具有视频属性 "length"的 bean 的图像

jsf - UISelectOne 和 UISelectMany 组件如何在 f :selectItems 中预选默认值

windows - 在重定向的标准输出管道上禁用缓冲(Win32 API、C++)

testing - 使用angularjs编写测试时如何处理重定向?

PHP 无法从回调内部重定向

java - 如何在 RichFaces 中选择所有同类元素

php - 将站点重定向到移动版本,谷歌移动友好测试出错

javascript - AJAX 不处理 302 重定向