0

例如,我的 JSP 页面有很多提交按钮

<input type="submit" name="RemoveCustomer" value="Submit"/>
<input type="submit" name="AddCustomer" value="Submit"/>

在我的 scriptlet 标记中,我有这样的东西

if(request.getParameter("addByName") != null && request.getParameter("addByName").length() > 0) {
  ...
} else {
  if(request.getParameter("removeByName") != null && request.getParameter("removeByName").length() > 0) {
    ...
  } else {
    ...
  }

}

其中 addByName 和 removeByName 是 HTML 文本字段

显然,我可以单击按钮 RemoveCustomer 来访问 removeByName 并做一些事情,但如果 addByName TextField 不为空,它将添加一个客户。

我想知道的是在我的脚本中我怎么知道按下了哪个提交按钮?

4

2 回答 2

2

您可以将部分放在<div>class 或 id 中,以明确发生了什么。

在我看来,您的 JSP 需要进行良好的重构。如果你同意,我有两个建议:

  1. 消除所有 scriptlet 代码并仅使用 JSTL。JSP 仅供查看;将所有逻辑移出页面。
  2. 逻辑确实属于服务器端的控制器。拥有一个 Front View Controller servlet,它接受所有传入流量并将请求委托给专门编写用于处理不同用例的类。
  3. 您可能已经发展到您的应用程序可以从 Spring、Wicket 等 MVC 框架中受益的地步。我建议您研究一下。
于 2011-01-12T11:52:15.887 回答
1

你可以做 request.getParameter("name of submitbutton")。这里提交按钮的名称是 RemoveCustomer 或 AddCustomer。

于 2011-01-12T11:55:01.937 回答