【问题标题】:Prevent home (welcome file) URL from changing to full URL when submitting a JSF form提交 JSF 表单时防止主页(欢迎文件)URL 更改为完整 URL
【发布时间】:2015-07-15 19:54:44
【问题描述】:

我有一个欢迎文件

<welcome-file-list>
    <welcome-file>configurationClass.xhtml</welcome-file>
</welcome-file-list>

它在以 url "http://127.0.0.1:8080/fav/" 开头时正确打开。

然后在我的页面中,我有一个可排序的表,它正在调用我班级中存在的方法 sortFavs()。我从服务器方法返回 null。

所以 url 正在更改为“http://127.0.0.1:8080/fav/configurationClass.xhtml” 我可以得到与以前的网址相同的输出吗?如何在不使用任何其他库(如 omnifaces 或其他库)的情况下做到这一点?

【问题讨论】:

  • 下载framework/libt x(或y或z)的源代码,将相关源代码复制到您的项目中,重新构建就完成了……或者换句话说:为什么不直接使用外部库(不确定 OmniFaces 是否可以执行此特定操作)
  • 还有其他方法吗?可能是一些映射?
  • 如果“某些映射”可以是 PrettyFaces 配置文件,那么可以。否则,如果您前面有一个可以帮助您的反向代理,但我只使用 PrettyFaces
  • 顺便说一句,为什么这是个问题?您始终可以将带有 html 元重定向的空欢迎文件添加到实际页面。排序后 url 不会改变。或者使用ajax排序。那就不会变了

标签: jsf jsf-2 friendly-url


【解决方案1】:

&lt;f:ajax execute="@form" render="@form" /&gt; 添加到命令按钮/链接。这样 POST 请求将异步执行而不是同步执行,并且浏览器的地址栏 URL 将始终保持不变。

【讨论】:

  • 有没有办法通过非 ajax 请求做到这一点? @BalusC
  • @rion18:如果有没有第三方库的方法,我会回答的。你可以用 iframe 来破解,但这太难看了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
  • 2013-01-26
  • 1970-01-01
相关资源
最近更新 更多