What's the proper way to create a hyperlink in Spring+JSP? There must be a better way than just coding in the <a href="...">
tag. Take for example a page that displays people. The URL is people.htm
. The corresponding controller gets people from the database and performs optional column sorting. The JSP might look like:
<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>
...
This seems bad as the URL people.htm
is hardcoded in the JSP. There should be a way to have Spring automatically build the <a>
tag using the URL defined in servlet.xml
.
Edit: Maybe I should be using a Spring form.
The only thing that comes to mind is the JSTL standard tag <c:url>
. For example:
<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>
Now this won't get you servlet mapping or the like but nothing will. It's not something you could really do programmatically (after all, a servlet can and usually does map to a range of URLs). But this will take care of escaping for you.