2011-09-27 16 views
5

Sto utilizzando Spring MVC per il mio controller e JSP sono il mio livello di presentazione.EL variabili doppiamente annidate?

Dentro il mio controller Primavera, ho:

model.put("issues", dataManager.getIssues()); 
model.put("functions", dataManager.getFunctions()); 

Così ora dentro la mia JSP, ho accesso a

${requestScope['issues']} 
${requestScope['functions']} 

Questo è cosa buona e giusta. Ma affinché il mio codice sia estensibile, vorrei memorizzare il nome della variabile issues e functions all'interno del database, che sarà quindi accessibile tramite una proprietà su un oggetto configs su cui viene eseguito il looping. Allora, cosa mi piacerebbe finire con qualcosa di simile al seguente:

<c:forEach items="${configs}" var="cfg"> 
    <c:if test="${cfg.configType == 'select'}"> 
     <th>${cfg.header}</th> 
     <td><myTagLib:select values="${requestScope['${cfg.selectorName}']}" /></td> 
    </c:if> 
</c:forEach> 

Dove ${cfg.selectorName} dovrà detenere issues o functions in questo esempio.

risposta

6

Sei vicino. Hai solo bisogno di rimuovere il nidificato ${} dal momento che è sintassi non valida.

<myTagLib:select values="${requestScope[cfg.selectorName]}" /> 
+0

..... E questo ha fatto il trucco. Perfetto grazie! – Mike

+0

Prego. – BalusC

+0

@BalusC, sto facendo come ** \t \t \t \t \t \t \t **. Ma non sono in grado di ottenere l'elenco degli articoli in questo modo. per favore aiuto. – masT