Pergunta

O que é a maneira correta de criar um hiperlink em Spring + JSP? Deve haver uma maneira melhor do que apenas a codificação na tag <a href="...">. Tomemos por exemplo uma página que exibe pessoas. A URL é people.htm. O controlador correspondente recebe as pessoas a partir do banco de dados e executa a classificação de coluna opcional. O JSP pode parecer:

<table>
<tr>
  <td><a href="people.htm?sort=name">Name</a></td>
  <td><a href="people.htm?sort=age">Age</a></td>
  <td><a href="people.htm?sort=address">Address</a></td>
</tr>
...

Isso parece ruim quanto o people.htm URL é codificado na JSP. Deve haver uma maneira de ter Primavera construir automaticamente o tag <a> usando o URL definido no servlet.xml.

Editar :. Talvez eu deveria estar usando um formulário da Primavera

Foi útil?

Solução

A única coisa que vem à mente é a JSTL <c:url> tag padrão. Por exemplo :

<c:url var="thisURL" value="homer.jsp">
  <c:param name="iq" value="${homer.iq}"/>
  <c:param name="checkAgainst" value="marge simpson"/>
</c:url>
<a href="<c:out value="${thisURL}"/>">Next</a>

Agora, isso não vai te mapeamento do servlet ou similar, mas nada vai. Não é algo que você poderia realmente fazer programaticamente (afinal, um servlet pode e geralmente faz o mapeamento para uma série de URLs). Mas isso vai cuidar de escapar para você.

Outras dicas

Eu não vi esse tipo de funcionalidade na primavera pura (embora Grails ofertas coisas assim).

Para o seu caso específico, você pode considerar a remoção da parte arquivo e usando apenas a string de consulta como o atributo href:

<td><a href="?sort=name">Name</a></td>
<td><a href="?sort=age">Age</a></td>
<td><a href="?sort=address">Address</a></td>

Esses links anexar a string de consulta para o componente de caminho da URL atual.

Melhor maneira de criar link é:

<a href="<%=request.getContextPath() %>/people">Name</a>

<% = request.getContextPath ()%> garante que correta URI serão tidas em conta.

"tipo" parâmetro você pode obter mais com o campo escondido e mudar um valor com um pouco de javascript:

<input type="hidden" name="sort" id="sort" value="name">

E método de controlador deve ficar assim:

@RequestMapping("/people")
public String createUser(String sort) {

   ...

}

In Spring MVC em jsp:

Você pode usar:

General Hyperlink:

<a href="/Portfolio/login">Click Here</a>

Se passando de controlador:

<a href="/Portfolio/${page}">Click Here</a>

tags JSP

<c:url var="URL" value="login">
<c:param name="param" value="${parameter}"/>
</c:url>
<a href="<c:out value="${URL}"/>">Click Here</a>

Espero que ajude ..:)

Import este pacote em seu arquivo jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

quando você quer redirecionar nova página ou url então usar para, por exemplo.

<a href='<c:url value="url of next page" />'>Home</a>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top