在我的 JSP 中,我有以下设置,它应该为我的数据库中的每一行创建一个表行:
<%
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)]}
相同的效果,但是,i
根本不被我的 EL 阅读。在这种情况下如何引用 i
?目前,在这种情况下,第一行重复了 4 次。
最佳答案
为了引用i
在这种情况下,诀窍是添加 request.setAttribute("i", i);
在 <tr>
之前防御。
关于java - JSP EL 无法识别 Java 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540963/