2016-07-30 7 views
0

In meinem Code habe ich Szenario, wo ich dynamischen Namen verweisen muss (mit JSP-Ausdruck), um in einem anderen JSP-Ausdruck platziert werden. Kurz gesagt, ich muss Ausdruck mit einem anderen Ausdruck haben.Dynamischer Ausdruck innerhalb des Ausdrucks in JSP taglib

Im Folgenden Code führt zum Expression Ausdruck wie folgt: "$ {employeeRow.entryDetails $ {COMPNAME}"

ungültigen Ausdruck enthält (e): javax.el.ELException: Fehler beim Analysieren von $ {employeeRow.entryDetails . $ {} COMPNAME

JSP-Code hier:

<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> 

Kann jemand Hilfe zu diesem Thema?

Antwort

0

Ich fand eine Lösung für die oben genannten. Hier bin ich Entsendung Lösung für die anderen helfen

Alle dynamischen Wert innerhalb Ausdruck in eckigen Klammern gehen sollte ‚[]‘

Hier ist die korrigierte Code:

<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> 
Verwandte Themen