java - JSP 中的多个按钮

标签 java javascript jsp button onclick

我的网络项目中需要有几个具有不同功能的按钮,但我不知道实现它的正确方法。 我这样做只是为了测试:

<input name="command" type="hidden" value="redirect"></input>
<input type="submit" name="page" value="Make order"></input>
<input type="submit" name="page" value="See bills"></input>
<input type="submit" name="page" value="See orders"></input>

然后在命令中我切换抛出页面名称的枚举以找出单击了哪个按钮。一个按钮应该将客户端重定向到另一页面,其他按钮应该调用自己的命令。

我知道后处理表单提交是一种不好的做法,所以我正在寻找另一种方法来做到这一点。有人建议我使用 JS onclick,但我没有任何经验,也找不到任何适合我的项目的简单示例。

已编辑

我有 ViewBillAction 和 ViewOrderAction 的 Action 类。我也有这样的类来定义所需的操作:

public class Redirect implements Action {

@Override
public String execute(TransferredData requestInformation) {
    String pageName = requestInformation.getRequestParameter("page");
    Action action;
    switch (pageName.toUpperCase()) {
    case "MAKE ORDER":
        return JSPManager.INSTANCE.getProperty(JSPManager.ORDER_PAGE_PATH);
    case "VIEW BILLS":
        action = new ViewBillsCommand();
        return action.execute(requestInformation);
    case "VIEW ORDERS":
        action = new ViewRequestsCommand();
        return action.execute(requestInformation);

主要问题是我根本不知道如何处理 JS 中的按钮单击事件。但这是我应该这样做的方式,我将非常感激一个简单的例子。

最佳答案

type submit 表示您要将表单数据发送到服务器进行处理。 如果您不执行发布请求,则应该使用 button 而不是 submit

<input name="command" type="hidden" value="redirect"></input>
<input type="button" name="page" value="Make order"></input>
<input id="seeBillsButton" type="button" name="page" value="See bills"></input>
<input type="button" name="page" value="See orders"></input>

并使用javascript/jquery来处理按钮点击事件。

$("#seeBillsButton").click(function() {
  alert("Handler for .click() called.");
});

已编辑 在服务器端,您应该有 3 个操作来处​​理这些请求。

  1. MakeOrderAction
  2. 查看账单操作
  3. 查看订单操作。

对于MakeOrderAction,您只想将用户重定向到下订单页面,通过javascript中的点击事件(或超链接)来处理此问题。

对于 ViewBillAction 和 ViewOrderAction,每个操作都绑定(bind)到一个 jsp 并在那里显示结果。您有两种方法可以实现这一目标。您可以为他们制作 2 个表格并分别提交相应的操作。或者您可以使用相同的表单,并通过单击事件检查用户单击了哪些内容,在 JavaScript 中处理并提交表单。结果 jsp 页面应在您的操作类中定义。

http://api.jquery.com/click/

关于java - JSP 中的多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14621830/

相关文章:

java - 无法编译 JSP : 的类

java - LinkedHashMap 具有不同类型的数据

java - 当我在 java swing 中单击 JDatePicker 中的其他位置时,如何关闭弹出 DatePicker?

java - 无法与客户端通信 - Master SymmetricDs

java - 在 JBoss 7.x 中加载模块

javascript - React Native - 动画完成后奇怪的闪光

javascript - Rails CORS:ActionController::RoutingError(没有路由匹配 [OPTIONS] "/batches"):

javascript - While 循环和 Jquery 追加不起作用

java - Struts 2 Hello World 示例 index.jsp 404 错误

javascript - 比较 JS 中的输入值