【问题标题】:jsf commandLink not updating url correctlyjsf commandLink 没有正确更新 url
【发布时间】:2012-08-04 12:47:09
【问题描述】:

有一个关于 JSF 2 导航机制的非常简单的问题:

我有两个视图,称为“ProductEdit”和“ProductList”,带有请求范围的支持 bean(无论如何我认为这无关紧要)。我在“ProductEdit”视图中有以下几行

            <h:commandLink action="#{product.update('')}">
                <h:outputText value="Update And Return"></h:outputText>
                <f:param name="pageNo" value="#{productlist.pageNo}" />
            </h:commandLink>

当用户单击“ProductEdit”视图中的“更新和返回”链接时,将执行指定的操作(JSF 中的相当标准),其结果是“ProductList”视图,用户被定向到页面没问题。但是,尽管显示的视图是“ProductList”视图,但该页面的 URL 在我的浏览器中仍然是“ProductEdit”。

URL 肯定要更新了,我做错了什么?

希望 BalusC 现已上线!

【问题讨论】:

    标签: java html jsf jakarta-ee jsf-2


    【解决方案1】:

    抱歉我之前的回答,您可以在您的操作返回的链接末尾添加"?faces-redirect=true"。或者,如果您要使用 PrimeFaces,只需将参数 ajax 设置为 false

    编辑

    public String update() {
        return "index?faces-redirect=true";
    }
    

    我将借用一个 BalusCs answers - 在这里您可以看到一些方法。

    【讨论】:

    • 但这不会执行我需要运行的操作 product.update('')!
    • 我在哪里添加它?即“?faces-redirect = true”在哪里附加到视图名称?不使用 PF。
    • 否,在更新方法中。此方法必须返回 String(或 null 或 void 相同),这会将您重定向到某个地方(比如说“index”),所以只需在此处附加它 - return “index?faces-redirect=true”
    • 这行得通吗:action="#{product.update('')}?faces-redirect=true" ?
    • @PetrMensik 您应该从一开始就添加该示例。
    猜你喜欢
    • 2020-01-29
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多