【问题标题】:How servlet can discover that button was pressed in jsp page? [duplicate]servlet 如何发现在 jsp 页面中按下了该按钮? [复制]
【发布时间】:2016-01-18 14:28:03
【问题描述】:

我有很多按钮的 jsp 页面。当我按下某个按钮时,它在 servlet 中处理,但我如何识别该按钮被按下?我这样做:

private String getPressedBtn(HttpServletRequest request){
    Enumeration<String> parameterNames = request.getParameterNames();
    String pressBtn = "";
    if(parameterNames.hasMoreElements()){
        pressBtn = parameterNames.nextElement();
    }
    return pressBtn;
}

但我认为这是非常糟糕的方式。哪种方式合适?

【问题讨论】:

  • 为什么不按下按钮时向Servlet 提交表单?
  • 对不起,我不明白这是什么意思...
  • 您知道该按钮已被单击,因为您仅在单击该按钮时将表单提交给该Servlet...
  • 或者使用一个隐藏的输入来传递一个表示按钮是否被点击的值。
  • 哦...我做不到,这是这个任务的要求

标签: java jsp servlets


【解决方案1】:

如果你想在 servlet 中按下按钮,有更好的方法: 首先,对按钮使用输入标签,定义按钮的通用名称属性和每个按钮的特定值。

例子:

<input type="button" name="button" value="button1" />
<input type="button" name="button" value="button2" />
...

那么在servlet中就可以这样获取了:

private String getPressedBtn(HttpServletRequest request){
    return request.getParameter("button");
}

【讨论】:

  • 但按钮中的值已本地化..
  • “本地化”是什么意思?
  • " class="register" />
  • 那么,您是否希望收到未本地化的按钮值?
【解决方案2】:

在每个按钮里面放一个链接,所有链接的请求地址相同,但参数中的按钮名称不同。

【讨论】:

  • 你不会说我必须使用href吗?我在不同的情况下这样做......在那种情况下,我必须使用按钮......
  • 在按钮中使用 onClick="location.href='link'"
猜你喜欢
  • 1970-01-01
  • 2013-11-24
  • 2016-07-15
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多