2017-03-01 33 views
2

在我的JSP中,我有以下的一組,這是應該在我的數據庫中創建於各行的錶行:JSP EL不承認Java變量

<% 
    int count = Controller.getRowCount();for(int i=0; i<count; i++) {%> 
    <tr class = resultRow> 
     <td><input type=text name='ID<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[0]}'></td> 
     <td><input type=text name='Player<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[1]}'></td> 
     <td><input type=text name='Character<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[2]}'></td> 
     <td><input type=text name='Strength<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[3]}'></td> 
     <td><input type=text name='Constitution<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[4]}'></td> 
     <td><input type=text name='Dexterity<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[5]}'></td> 
     <td><input type=text name='Intelligence<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[6]}'></td> 
     <td><input type=text name='Wisdom<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[7]}'></td> 
     <td><input type=text name='Charisma<%= i %>' form ='currentCharacter' value='${requestScope.resultRow[8]}'></td> 
     <td><button onclick = 'ShowInventory(<%= i %>)'>Inventory</button></td> 
     <td><input type=submit form = 'currentCharacter' value=Update name='Update<%= i %>'></td> 
     <td><input type=submit form = 'currentCharacter' value=Delete name='Delete<%= i %>'></td> 
    </tr> 
    <% } %> 

在我的EL,我想獲得與${requestScope.resultRow[0+(9*i)]}相同的效果,但是,我的EL根本不會讀取i。在這種情況下我如何參考i?目前,在這種情況下,第一行重複4次。

回答

2

爲了在這種情況下參考i,訣竅是在<tr> defenition之前添加request.setAttribute("i", i);

0

或者,你可以把變量pageContext的,以使它局部於這個JSP:

pageContext.setAttribute("i", i);