1
4

1 回答 1

1

<a href="location">不是表单提交,是重定向,参数是从查询字符串中读取的。

查看您的查询字符串

command=all_test_edit&subject_id=${subject}

没有subject,所以request.getParametr("subject");会一直给你null。如果您使用<input type="submit"><button>然后完成表单提交。

正如你所说,你不能使用 JavaScript。因此,对此没有其他出路。对于 commandandsubject_id参数,您可以使用

<input type="hidden" name="command" value='all_test_edit'>

其他静态参数也类似。

更新:

看起来您可以使用该submit值传递操作参数。这是一个例子:

JSP

<form id="form1" action="SomeServlet">
    Insert text:
    <input type="text" name="txtInputText" />
    <br />
    <input type="submit" name="btnAction" value="Add" />
    <br />
    <input type="submit" name="btnAction" value="Edit" />
    <br />
    <input type="submit" name="btnAction" value="Delete" />
    <br />
</form>

小服务程序:

System.out.println(request.getQueryString());
String s = request.getParameter("btnAction");

当您单击Add按钮时,s将是“添加”。当您单击Edit按钮时,s将是“编辑”,依此类推。这不灵活,但可以解决您的问题。

于 2012-05-05T04:36:19.840 回答