【问题标题】:JSF explicit navigationJSF 显式导航
【发布时间】:2014-01-15 07:37:59
【问题描述】:

我有 AddUser.xhtml,它有一个表单。提交表单时,目标 xhtml 是 ListUser.xhtml。我能够从源导航到目标 xhtml。但是,由于 JSF 支持隐式导航,因此 URL 没有改变。

我可以以某种方式在成功的表单提交上更改 URL 吗? 例如: 来自:http://:8080/jsf/AddUser.xhtml 至:http://:8080/jsf/ListUser.xhtml

【问题讨论】:

    标签: jsf navigation


    【解决方案1】:

    您需要重定向页面以获取要更改的 URL。在提交时返回的 URL 中,附加以下内容。

    http://:8080/jsf/ListUser.xhtml>faces-redirect=true
    

    【讨论】:

    • 不应该将此参数和值附加到 AddUser.xhtml 吗?我在 bean User.java 中做了同样的事情。我有一个提交方法,它是 AddUser.xhtml 的操作。在提交方法中,我有“return”/ListUser.xhtml?faces-redirect=true“;”。这应该足够吗?
    • 是的。您从 AddUser.xhtml 调用该方法,该方法将下一个视图名称作为字符串返回。在您的情况下,您需要返回附加了 faces-redirect=true 的下一个视图名称。即该方法应返回 ListUser.xhtml?faces-redirect=true (假设两个 xhtml 位于同一目录中)。
    • 是的...但是目标URL仍然没有改变。它仍然在同一页面中显示响应内容。即 AddUser.xhtml。 PRG 模式也定义了相同的方式。但没有任何效果!
    • 您能否发布您的 AddUser.xhtml 和调用的方法。
    • 公共类 UserBean { 私有 int id;私有字符串名称;私有列表 项;私人字符串密码;私有字符串 cmets; //添加用户的操作方法 public String addUser() { return "/ListUser.xhtml?faces-redirect=true"; } }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2013-01-22
    • 2011-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多