onclick でフォーム アクション URL を既に変更しているため (これは非常に悪い方法ですが、それはさておき)、行識別子も追加しないのはなぜですか?
<input type="submit" name="<%=t %>" value="edit" onclick="this.form.action='df1.jsp?flag=1&act=1&edit=<%=t%>';this.form.submit();" />
<input type="submit" name="<%=t %>" value="delete" onclick="this.form.action='df1.jsp?flag=1&act=1&delete=<%=t%>';this.form.submit();" />
このようにして、次のことができます。
String edit = request.getParameter("edit");
if (edit != null) {
// Edit button of row "edit" was invoked. Do your job here.
}
String delete = request.getParameter("delete");
if (delete != null) {
// Delete button of row "delete" was invoked. Do your job here.
}
それ以外の場合は、ボタン名の前に固定識別子を付ける必要があります。
<input type="submit" name="edit_<%=t %>" value="edit" onclick="this.form.action='df1.jsp?flag=1&act=1';this.form.submit();" />
<input type="submit" name="delete_<%=t %>" value="delete" onclick="this.form.action='df1.jsp?flag=1&act=1';this.form.submit();" />
あなたができるように:
for (int t = 1; t < 10; t++) {
if (request.getParameter("edit_" + t) != null) {
// Edit button on index "t" was invoked. Do your job here.
break;
}
if (request.getParameter("delete_" + t) != null) {
// Delete button on index "t" was invoked. Do your job here.
break;
}
}
具体的な問題とは関係ありませんが、スクリプトレット を使用してこのように JSP を記述すること<% %>
は、10 年前から古いやり方であり、不適切な方法と見なされてきました。JSP ファイルで Java コードを回避する方法も参照してください。