我会尝试做一个简短的解释,并清楚详尽地解释这个问题。
我有一个由servlet调用的JSP页面。这个JSP页面根据查询后servlet返回的记录数生成一些按钮(这些记录通过ArrayList对象传递,所以如果ArrayList.size()它是3,我将生成3个按钮;如果10,10个按钮等),每个按钮在一个表中彼此相邻,每行最多可以有5个按钮。
现在真正的问题是:一旦我创建了这些按钮,我需要调用一个servlet,但是这个servlet必须知道按下了哪个按钮(例如,如果有5个按钮,如果我按第3个,我需要发送到我按下第3个按钮的servlet)。我怎么能实现这个?我可以通过JavaScript中的脚本来完成吗?如果可能的话,你可以分享我为此目的所需的代码吗?
注意:按钮数量为DYNAMIC,因为按钮数量每次都不同。我只需按一个按钮,servlet就必须知道按下了哪个按钮。 (如果按第1个按钮,则返回“1”。如果按第2个按钮,则返回“2”。如果按n°按钮,则返回“n”。我希望现在很清楚。< /强>
我希望我能清楚地解释这个问题,但是我粘贴了与按钮生成相关的部分代码:
<table class="table" cellspacing="0" cellpadding="0">
<%
int buttons_number = 0;
int index = 0;
while(buttons_number< array.size()){
%>
<tr>
<%
while(index < 5 && buttons_number < array.size()){
String idChar = Integer.toString(index);
%>
<td><input type="button" class="MyButton" id="<%=idChar %>"></td>
<%
index++;
buttons_number++;
}
index= 0;
%>
</tr>
<%
}
%>
</table>
答案 0 :(得分:0)
解决方案:
我改变了:
<td><input type="button" class="MyButton" id="<%=idChar %>"></td>
进入:
<td><input type="submit" class="MyButton" id="MyButton" name="MyButton" value="<%=idChar %>"></td>
然后,当我按下提交按钮时,我将调用servlet中的doPost()方法并发送按下的按钮的值。
String ButtonPressed = request.getParameter("MyButton");