Lets say my current URL is:
/app.jsp?filter=10&sort=name
.
I have a pagination component in JSP which should contain links like:/app.jsp?filter=10&sort=name&page=xxx
.
How do I create valid URLs in JSP by adding new parameters to current URL? I dont want use Java code in JSP, nor end up with URLs like: /app.jsp?filter=10&sort=name&?&page=xxx
, or /app.jsp?&page=xxx
, etc.
Ok, I found answer. First problem is that I have to preserve all current parameters in URL and change only page
parameter. To do this I have to iterate over all current parameters and add those I don't want to change to URL. Then I added parameters I want to either change or add. So I ended up with solution like this:
<c:url var="nextUrl" value="">
<c:forEach items="${param}" var="entry">
<c:if test="${entry.key != 'page'}">
<c:param name="${entry.key}" value="${entry.value}" />
</c:if>
</c:forEach>
<c:param name="page" value="${some calculation}" />
</c:url>
This will create nice and clean URL independent of page
parameter in request. Bonus to this approach is that URL can be just anything.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With