2012-04-04 14 views
0

Ich möchte zwei Parameter von meiner JSP-Seite auf eine andere JSP-Seite übergeben, die enthalten ist.Übergabe mehrerer Parameter in JSP

Erste JSP-Code:

<% 
     java.util.Map map = new java.util.LinkedHashMap(); 
     map.put("Manage Client", "${pageContext.request.contextPath}/clients/"); 
    %> 
    <s:message var="message" code="label.NavigationBar.add"></s:message> 
     <jsp:include page="/includes/_navigation_top.jsp" > 
      <jsp:param name="topLeftNav" value="${message}"/> 
      <jsp:param name="parentNode" value="${map}"/> 
     </jsp:include> 

die mitgelieferte jsp (/includes/_navigation_top.jsp) Seitencode ist

<c:if test="${ param.topLeftNav ne 'Quotes' }"> 
     <div class="third-nav"> 
      <div class="bread-crum"> 
       <ul > 
       <li><a href="${applicationScope.app_url_secure}/">Home</a></li> 
       <c:if test="${param.parentNode!=null }"> 
        <c:forEach items="${param.parentNode}" var="map"> 
         <li><a href="${map.value}">${map.key}</a></li> 
        </c:forEach> 
       </c:if> 
       <li>${param.topLeftNav}</li> 
       </ul> 
      </div> 
     </div> 
    </c:if> 

kann mir jemand helfen, wo ich bin fehlt?

Antwort

0

Sie mischen Oldschool Scriptlets und moderne EL. Sie teilen nicht den gleichen variablen Bereich. Sie haben die map in scriplet Bereich erstellt, aber Sie versuchen, einen in der EL-Bereich durch ${map} übergeben, die offensichtlich null ist.

Lassen Sie die scriptlet (oder vorzugsweise eine Front-Controller servlet) es in den richtigen Bereich wie von EL erwartet. Z.B.

request.setAttribute("map", map); 
+0

aber ich muss die Karte nur in meinem JSP erstellen. Gibt es eine andere Möglichkeit, in jsp durch jstl zu erreichen? –

+0

[JSTL] (http://stackoverflow.com/tags/jstl/info) ist nur eine Präsentations-Taglib, kein Front-Controller oder sowas. Ich sehe jetzt eine '', die anzeigt, dass Sie Struts verwenden. Führen Sie den Job stattdessen in der Struts-Aktionsklasse aus. Oder wenn die Daten anwendungsweit verwendet werden sollen, verwenden Sie stattdessen einen 'ServletContextListener' (oder etwas, das Struts-spezifisch ist, falls vorhanden). – BalusC

+0

Feder-Tag-Bibliothek –

Verwandte Themen