2016-07-30 14 views
0

私のコードでは、動的な名前(JSP式を使用)を別のJSP式に配置する必要があるシナリオがあります。つまり、別の表現で表現する必要があります。以下のように表現式のコード結果の下JSP taglibの式内の動的式

:javax.el.E​​LException:エラー解析:$ {employeeRow.entryDetails

"$ {employeeRow.entryDetails $ {COMPNAME}は" 無効な式(S)を含有。ここで$ {} COMPNAME

JSPコード:

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

誰もこれに助けることができますか?

答えて

0

上記の解決策が見つかりました。ここで私は他の人のためのソリューションを掲示しています式の中

任意の動的な値は、角括弧「[]」

以内に行くべきここで修正されたコードであるのに役立ちます。

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