URL jsf 2.2 更新

URL update in jsf 2.2

我正在尝试学习 jsf 2.2 中的导航(Page Forward 与 Page Redirect)。我在 jsf 中遇到了 this URL 更新的问题。我已经写了一些测试, URL 在我的情况下总是更新。

第 1 页:

<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                template="components/defaultLayout.xhtml">

    <ui:param name="bodyClass" value="container body-nomargin" />

    <ui:define name="body">


        <h1>Welcome </h1>


        <h:panelGroup layout="block" styleClass="col-md-12">

            <h:form>
                <h:link outcome="detail" value="some value"> </h:link>
            </h:form>


        </h:panelGroup>

    </ui:define>

</ui:composition>

详情页:

<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                template="components/defaultLayout.xhtml">

    <ui:param name="bodyClass" value="container body-nomargin" />

    <ui:define name="body">

        <h:outputLabel value="Hello, world"/>

    </ui:define>

</ui:composition>

1) 这个 URl 没有被更新的问题是否甚至存在于 jsf 2.2 中,或者我在这里指的是一个过时的来源(来源提到它是针对 jsf 2.0 但我猜事情会是jsf 2.2 也一样。)?

你看不到这种行为,因为你使用了 h:link,根据 the specs(强调我的)

Execute the Algorithm to obtain the URL to which the user-agent should issue a GET request when clicked.

所以你有效地 'fixed' 通过不首先创建问题来解决问题。

另请参阅答案中的项目符号 1

  • How to navigate in JSF? How to make URL reflect current page (and not previous one)