【问题标题】:How to always show the same URL in JSF 2.0?如何在 JSF 2.0 中始终显示相同的 URL?
【发布时间】:2013-11-21 04:35:48
【问题描述】:

我正在写学期论文,但我对自己的方式有些怀疑。

现在我的主要问题是:如何始终为使用 JSF 2.0(Apache Tomcat 7、JSF 2.0、Java 6)的用户提供相同的 URL?

我有几十个页面,一个是登录页面,另一个是我网站的功能,但我希望只向用户显示一个 URL。 我想要的是:

If user go to login page, the url will be:
mypage.com/

If user login with succesfull, the url will be:
mypage.com/ 

If user do any thing inside system, the url will be:
mypage.com/

请注意,我总是希望“呈现”(这是正确的意思吗?)不同的页面,但向用户显示相同的 URL。

我该怎么做? Page Forward?

【问题讨论】:

  • 你似乎正在写一篇关于从 JSF 经验来看,一个人应该如何永远不使用 Web 框架Web 开发人员不应该做的事情。祝你好运!
  • @Fernando,我认为您提供的链接解释了它,不是吗?
  • @skuntsel 感谢您的回复,我认为这更好。如果你愿意,请用你的小费回答这个问题(帮助其他人(不)这样做)。我会接受它,因为这是做事的正确方法:P
  • @XtremeBiker 我不知道,因为我想要最好的方法来做到这一点,但正如 skuntsel 所说,这不是一件好事。同样感谢:)
  • 希望我的回答能帮到你;-)

标签: jsf jsf-2


【解决方案1】:

并不一定意味着保持您的网址静态是一件坏事。

如果你使用page forward,你当前在其他url,甚至浏览器的地址栏也没有反映。使用页面重定向(POST-REDIRECT-GET 模式),您可以获得新的url,但是从http 协议的角度来看it requires one step more,所以它有点慢。它们都允许您使用其 url(可书签应用程序)转到特定视图,并且还被考虑到基于 JSF 导航案例的系统中。

实际上可以被认为是一个陷阱,但可以根据具体情况使用,是将应用程序的主框架(从 JSF 的角度来看可能是 the main template)放在一个 url 中,然后 重新渲染一些它的内容通过 ajax。这不允许您拥有可添加书签的页面,但是如果您有兴趣使用相同的内容维护视图的许多部分,它可能比执行页面转发更快。

【讨论】:

  • 感谢@Xtreme Biker 的解释,这将帮助很多人。 :P
猜你喜欢
  • 2023-04-02
  • 1970-01-01
  • 2020-01-08
  • 2012-10-30
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-16
相关资源
最近更新 更多