Я хочу, чтобы после того, как мой код выполнил определенные процедуры, перенаправил меня на определенный div моего индекса, я попробовал его таким образом, но страницы нет:
request.getRequestDispatcher("index.jsp#contenedor3").forward(request,response);
Форма, в которой я смог решать это, использовала
HttpSesion session=request.getSession ();
session.setAttribute ("NombreParametro", "ValorDeParametro"); response.sendRedirect ("index.jsp#contenedor1");
Перенаправление в определенное положение только ты можешь реализовывать ее со стороны клиента. Ты мог бы использовать книжные магазины, как тебя
, Тогда ты не нуждаешься в том, чтобы определить якорь html, но ты показываешь его id которого div или контроля в твоем pÃ: gina ты хочешь двинуться.
В примере ты увидишь, как div довольно внизу после нескольких параграфов, но $.scroolTo()
двинь scroll в положение div, чтобы оставлять видимыми
$(function(){
$.scrollTo("#div1");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.scrollto/2.1.2/jquery.scrollTo.js"></script>
<p>linea </p>
<p>linea</p>
<p>linea</p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea</p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea</p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<p>linea</p>
<p>linea </p>
<p>linea </p>
<p>linea </p>
<div id="div1"> contenido div </div>
Прежде всего, использовав это
request.getRequestDispatcher("index.jsp#contenedor3").forward(request,response);
Ты выполняешь forward, не redirect. Это не позволит тебе находить тебя в положении, которое ты желаешь. Если ты используешь forward, твой лучший выбор будет состоять в том, чтобы делать forward в твой вид JSP прямо, в этом случае index.jsp, и потом загрузив страницу выполнять код язык сценариев JavaScript, который позволял бы тебе переходить с одного сайта на другой в anchor. Ты можешь делать это таким образом.
$(document).ready = () {
window.location = '#contenedor3'; //asumiendo que tu anchor funciona
};
Ввиду того, что ты используешь forward, ты можешь добавлять признак в твоем request для этого особенного случая, так что только, когда согласятся на страницу посредством обработки этого request. У тебя могло бы быть нечто похожее.
В твоем controller:
request.setAttribute("anchor", "contenedor3");
request.getRequestDispatcher("index.jsp#contenedor3").forward(request,response);
В твоем виде (jsp):
<c:if test="${anchor eq 'contenedor3'}">
<script type="text/javascript">
$(document).ready = () {
window.location = '#contenedor3'; //asumiendo que tu anchor funciona
};
</script>
</c:if>
Другой выбор, если он реальный, состоит в том, чтобы использовать redirect к твоей странице и anchor.