2016-07-30 3 views
0

Dans mon code, j'ai un scénario où je dois référencer le nom dynamique (en utilisant l'expression JSP) pour être placé dans une autre expression JSP. En bref, je dois avoir une expression avec une autre expression.Expression dynamique dans l'expression dans JSP taglib

Ci-dessous les résultats de code dans l'expression d'expression ci-dessous: "$ {employeeRow.entryDetails $ {} compName"

contient expression non valide (s): javax.el.ELException: Erreur d'analyse: $ {employeeRow.entryDetails . $ {} compName

code JSP ici:

<c:forEach var="employeeRow" items="${yearReportForm.yearReportDetailLst}" varStatus="row"> 
//some other code placed here 
<c:forEach var="compName" items="${yearReportForm.components}" varStatus="subrow"> 
<tr> 
    <td>${employeeRow.entryDetails.${compName}.componentName}</td> 
    <td>${employeeRow.entryDetails.${compName}.monthlyValues.April}</td> 
    <td>${employeeRow.entryDetails.${compName}.monthlyValues.May}</td> 
</tr> 
</c:forEach> 
//some other code placed here 
</c:forEach> 

peut-elle aider quelqu'un à ce sujet?

Répondre

0

J'ai trouvé une solution pour ce qui précède. Ici, je posterai solution pour d'autres aider

Toute valeur dynamique au sein de l'expression devrait aller entre crochets « [] »

Voici le code corrigé:

<c:forEach var="employeeRow" items="${yearReportForm.yearReportDetailLst}" varStatus="row"> 
//some other code placed here 
<c:forEach var="compName" items="${yearReportForm.components}" varStatus="subrow"> 
<tr> 
    <td>${employeeRow.entryDetails.[compName].componentName}</td> 
    <td>${employeeRow.entryDetails.[compName].monthlyValues.April}</td> 
    <td>${employeeRow.entryDetails.[compName].monthlyValues.May}</td> 
</tr> 
</c:forEach> 
//some other code placed here 
</c:forEach>