【问题标题】:Same url for all pages所有页面的相同网址
【发布时间】:2013-01-18 21:54:05
【问题描述】:

我正在使用 JSP 开发一个项目,但我想在导航栏中为我的项目中的所有页面显示相同的 url。

我知道如何使用 iframe 和框架集来实现,但我正在寻找一种使用 javascript/ajax 的方法。

有人可以帮忙吗?

谢谢

【问题讨论】:

  • 您为什么要这样做?对于知道 URL 是什么(包括书签、搜索引擎等)的人来说,这非常令人沮丧,而对于不知道 URL 的人来说,这无关紧要
  • 猜测 SEO 不是问题?书签也一样?
  • 如果你看的话,jquery 和它的 ajax 函数的
  • 我不知道这是否是您正在查看的内容,但它可以用于执行 Servlet forward 而不是重定向。另请参阅:Forward vs redirect
  • @LuiggiMendoza 是对的。如果你不希望用户看到页面的新地址,你可以使用 forward(request, response) 来达到这个目的。

标签: javascript ajax jsp


【解决方案1】:

所有页面更改都通过 AJAX 完成的单页面 Web 应用程序当然是可能的,并且实际上在 Backbone.js 等框架中越来越受欢迎。确切的实现会因项目的性质而有很大差异,因此如果没有更具体的信息,就没什么好说的了。

作为我能想到的最简单的示例,您可以在页面上创建一个链接,运行以下 javascript(使用 jQuery)来完全重新加载页面正文:

$("body").load("/path/to/new/body.htm");

【讨论】:

    【解决方案2】:

    您可以加载将使用 Ajax 更新 HTML DOM 的页面。

    主页:foo.com/bar

    <div id='ajax_container'>
    
    </div>
    

    然后在你的 JS 中,针对特定的用户操作(点击菜单...):

    $(function(){
      $('#baz').click(function(){
        $.ajax({
         url: "foo.com/bazzz",
         cache: false
        }).done(function(html) {
          $("#ajax_container").append(html);
        });
      });
    });
    

    http://api.jquery.com/jQuery.ajax/

    【讨论】:

      【解决方案3】:

      您可以在同一个 servlet 中使用 switch 条件。

      【讨论】:

        猜你喜欢
        • 2010-10-22
        • 2012-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多