java
  • jsp
  • jstl
  • 2010-12-06 4 views 3 likes 
    3

    Wie kann ich Parameter zu einem Link in einem JSP hinzufügen, ohne zu überschreiben, was bereits vorhanden ist?Hinzufügen zu Anforderungsparametern in einem JSP

    Zum Beispiel habe ich das jetzt:

    <a href="<c:url value='/Top.jsp?sortBy=downloads&sortOrder=desc'/>"> 
    

    Aber wenn sie dort einen Suchbegriff (oder was auch immer) schon Ich will nicht die anderen Parameter, wenn ich irgendwie verlieren. Wie gehe ich da vor? Muss ich <% request.getUrl%> oder etwas ähnliches verwenden?

    +0

    1. Wer sind sie? 2. Was sortieren? – btiernay

    Antwort

    5

    Verwenden Sie HttpServletRequest#getQueryString().

    <c:url value="/Top.jsp?sortBy=downloads&sortOrder=desc&${pageContext.request.queryString}" /> 
    
    +0

    Aber was, wenn ich bereits einen sortBy-Parameter in meiner URL hatte? Wie verhindere ich, dass Parameter dupliziert werden? – FelipeKunzler

    +1

    @FelipeKunzler: '$ {leer param.sortBy? 'sortBy = Downloads &': ''} ' – BalusC

    1

    Sie Array von Query-String-params verwenden kann (muss bestimmte alle manuell params, sein OK, wenn params nicht so viel :) in jstl

    <a href="<c:url value='/Top.jsp?sortBy=${param.sortBy}&sortOrder=${param.sortOrder}&nextParam=${param.nextParam}'/>"> 
    

    Im Fall von $ mit {pageContext.request .queryString}, erhalten Sie möglicherweise doppelte Parameter in der Abfragezeichenfolge

    Verwandte Themen