我有一个基于Spring的java项目。在前端我有jQuery。主要的jQuery组件是Tabs,因此访问我的主页可以是http://myIp/project/myController#Tab1
我需要转到此页面:
通过重定向:redirect:/ myController#Tab1(这个案例有效)
[验证失败时]我需要通过return
"adminOperations#Tab1"
传回来(这种情况不起作用)
'adminOperations'的定义:
<definition name="adminOperations" extends=".mainTemplate" >
<put-attribute name="title" value="Admin page" type="string" />
<put-attribute name="content" value="/jsp/admin.jsp" />
<put-list-attribute name="scripts" inherit="true">
<add-attribute value="admin.js" type="string" />
</put-list-attribute>
</definition>
模板页面内容:
<html>
<head>
<title><tiles:getAsString name="title" /></title>
<tiles:useAttribute id="scripts" name="scripts" classname="java.util.List" />
<!-- processing script & styles data -->
</head>
<body>
<div id="header">
<div id="headerTitle"><tiles:insertAttribute name="header" /></div>
</div>
<div id="content">
<tiles:insertAttribute name="content" />
</div>
<div id="footer">
<tiles:insertAttribute name="footer" />
</div>
</body>
</html>
如何在此图块中正确处理'#'符号?
答案 0 :(得分:1)
哈希纯粹是一个浏览器。当您向/foo.action#bar
之类的网址发送请求时,浏览器会向/foo.action
发送请求,从响应中呈现HTML,然后在其中找到包含bar
名称或ID的锚点HTML,并滚动到此锚点。如果您向/foo.action
发送请求(提交表单时),服务器无法更改浏览器发送请求的URL并告知它转到bar
锚点。
唯一的方法是生成一个HTML页面,其中包含在加载页面并跳转到条形锚点时调用的JavaScript函数。有关如何执行此操作,请参阅How to scroll HTML page to given anchor using jQuery or Javascript?。