-1

我有一个可以通过参数链接到的页面...当您在该页面中时,您可以从数据表中选择一个项目-我希望能够从该数据表中回发带有完整重定向的同一页面,所以查询参数被重写。

目前,当我回发到同一页面时,它似乎总是被视为部分回发,因为回发来自当前页面。如何完全重定向到同一页面,或者无法覆盖 URL 中的参数。

我可以在不完全刷新的情况下打开项目,但是如果它们是通过另一个页面进入页面的,那么 URL 中就会包含参数……稍后刷新时,它会从参数中提取原始数据……

这是在我的数据表中,并且放置在我要重定向到的同一页面中。我已经尝试了结果和行动......!

<f:facet name="footer">
<p:commandButton id="openMyTask" value="Open Task" icon="ui-icon-search" action="/pages/customer/customerTasks?includeViewParams=false;faces-redirect=true" >
<f:param name="admsTaskId" value="#{customerTaskBean.selectedTaskId}"></f:param>
</p:commandButton>
</f:facet>

非常感谢

SM

4

2 回答 2

1

如果您想在 URL 中重新显示带有查询字符串的同一页面,那么use p:button.

<f:facet name="footer">
     <p:button id="openMyTask" includeViewParams="true" value='Open Task'>
        <f:param name='admsTaskId' value='#{customerTaskBean.selectedTaskId}'/>
    </p:button>
</f:facet>

includeViewParams="true"确保您包含从上一页发送的参数。

第二行是覆盖值。如果您有更多要覆盖的值,则包含更多f:param

另请注意,我没有指定outcome. outcome由于您想返回同一页面,因此在这种情况下未指定时会这样做。

注意:从您的回答来看,在我看来您并没有尝试回发。正如 BalusC 从评论中所说:““回发”是对与请求表单的页面相同的 URL 的 POST 请求”。

于 2013-07-03T23:39:09.463 回答
0

这似乎有效:

<p:dataTable id="myTasks" value

="#{customerTasksBean.customerTasks}" var="task" selectionMode="single" rowKey="#{task.id}"
                    paginator="true" rows="20" paginatorTemplate="{PageLinks} {RowsPerPageDropdown}" rowsPerPageTemplate="10,20,30"
                    editable="false" rowStyleClass="#{customerTasksBean.taskStatusService.getTaskRowClass(task)}">

                    <p:ajax event="rowSelect" listener="#{customerTasksBean.onMyTaskSelect}" update="openTask" />

                    <f:facet name="header">  
                            Current Request Pool
                     </f:facet>

                    <p:column headerText="Task ID" sortBy="#{task.id}">
                        <h:outputText value="#{task.id}" />
                    </p:column>

                    <p:column headerText="Task Type" sortBy="#{task.type.toString()}">
                        <h:outputText value="#{task.type.toString()}" />
                    </p:column>

                    <p:column headerText="Created For" sortBy="#{task.createdFor.fullName}">
                        <h:outputText value="#{task.createdFor.fullName}" />
                    </p:column>

                    <p:column headerText="Submitted" sortBy="#{task.createdDate}">
                        <h:outputText value="#{task.createdDate}">
                            <f:convertDateTime pattern="dd/MM/yyyy hh:mm" />
                        </h:outputText>
                    </p:column>

                    <p:column headerText="Required By" sortBy="#{task.requiredByDate}">
                        <h:outputText value="#{task.requiredByDate}">
                            <f:convertDateTime pattern="dd/MM/yyyy hh:mm" />
                        </h:outputText>
                    </p:column>

                    <p:column headerText="Days to completion" sortBy="#{aDMSBean.taskRequiredDays(task)}">
                        <h:outputText value="#{myTasksBean.taskStatusService.getDaysLeftToTaskCompletion(task)} " />
                    </p:column>



                    <p:column headerText="Comment">
                        <h:outputLabel id="taskCustomerComment" value="Hover mouse over" />
                        <p:tooltip for="taskCustomerComment" value="#{task.customerComment}" />
                    </p:column>

                    <f:facet name="footer">
                        <p:button id="openTask" value="Open Task" icon="ui-icon-search"
                            outcome="/pages/customer/customerTasks?includeViewParams=false;faces-redirect=true">
                            <f:param name="admsTaskId" value="#{customerTasksBean.selectedTaskId}">
                            </f:param>

                        </p:button>

                    </f:facet>
                </p:dataTable>
于 2013-07-03T23:37:14.700 回答