使用JSTL获取URL #hash

时间:2011-08-25 23:35:23

标签: java jsp url hash jstl

要在javascript中获取网址哈希#,您可以这样做:

window.location.hash

在JSTL中有没有类似简单易行的方法?

我拥有的网址示例:http://hatsos.com/#somehashname

如果没有内置的简易方法,我将如何获取URL然后解析其中的哈希?

2 个答案:

答案 0 :(得分:2)

在服务器端获取散列片段标识符的唯一方法是让客户端发送HTTP请求,并将值作为请求参数发送。例如,在window.onhashchange事件期间使用Ajax。我在你的问题历史中看到你熟悉jQuery。这是一个启动示例:

window.onhashchange = function() {
    $.get('someservlet', { 'hash', window.location.hash }, function(response) {
        // ...
    });
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String hash = request.getParameter("hash");
    // ...
}

要涵盖对window.onhashchange缺乏IE6 / 7支持,请考虑jQuery hashchange plugin

答案 1 :(得分:1)

你说的是URI Fragment id,而且大多数用户代理甚至都没有将它发送到服务器,因此你无法真正实现它。 JavaScript可以访问它,因为它在客户端运行。