获取提交按钮的名称

时间:2013-11-04 22:00:28

标签: jsp servlets

我有这样的表格

<form action="xmlServletPath" method="POST" id="c1">
    <ul>
        <li>
        <input type="submit" name="task1" value="Генерация таблиц по переданным  параметрам: заголовок, количество строк и столбцов, цвет фона." />
        </li>

        <li>
        <input type="submit" name="task2" value="Вычисление тригонометрических функций в градусах и радианах с указанной точностью. Выбор функций должен осуществляться через выпадающий список." />
        </li>

        <li>
        <input type="submit" name="task3" value="Выбор  изображения  по  тематике  (природа,  автомобили,  дети  и  т.д.)  и его отображение."/>
        </li>
    </ul>
</form>

我想获取按下按钮的名称 - 例如,如果我按下名为task1的按钮,我想在servlet中获取此名称。 但是如何?

getParameter可以检查是否按下了getParameter名称的按钮。 我需要这样的东西 -

 String req = request.getAttributeName('name'); // req contains task1(or task2, task3)

req中,例如task1

3 个答案:

答案 0 :(得分:1)

尝试使用<button>代码(Reference

<form action="xmlServletPath" method="POST" id="c1">
    <ul>
        <li>
            <button type="submit" name="mybutton" value="task1">
                Генерация таблиц по переданным  параметрам: заголовок, количество строк и столбцов, цвет фона.
            </button>
        </li>

        <li>
            <button type="submit" name="mybutton" value="task2">
                Вычисление тригонометрических функций в градусах и радианах с указанной точностью. Выбор функций должен осуществляться через выпадающий список.
            </button>
        </li>

        <li>
            <button type="submit" name="mybutton" value="task3">
                Выбор  изображения  по  тематике  (природа,  автомобили,  дети  и  т.д.)  и его отображение.
            </button>
        </li>
    </ul>
</form>

在你的servlet中:

String req = request.getAttributeName('mybutton');

答案 1 :(得分:1)

实现此目的的最简单方法是使用三种形式和隐藏字段:

<ul>
    <li>
        <form action="xmlServletPath" method="POST" id="c1">
            <input type="hidden" name="parameter" value="task1" />
            <input type="submit" name="task1" value="Генерация таблиц по переданным  параметрам: заголовок, количество строк и столбцов, цвет фона." />
        </form>
    </li>
    <li>
        <form action="xmlServletPath" method="POST" id="c2">
            <input type="hidden" name="parameter" value="task2" />
            <input type="submit" name="task2" value="Вычисление тригонометрических функций в градусах и радианах с указанной точностью. Выбор функций должен осуществляться через выпадающий список." />
        </form>
    </li>
    <li>
        <form action="xmlServletPath" method="POST" id="c3">
            <input type="hidden" name="parameter" value="task3" />
            <input type="submit" name="task3" value="Выбор  изображения  по  тематике  (природа,  автомобили,  дети  и  т.д.)  и его отображение."/>
        </form>
    </li>
</ul>

答案 2 :(得分:1)

显然,当你在一个表格上有3个提交按钮时,只能按1,所以只需检查所有3:

 String submitBtn01_Value = request.getParameter("task1");
 String submitBtn02_Value = request.getParameter("task2");
 String submitBtn03_Value = request.getParameter("task3");

任何一个不为空的是被按下的那个。

但是,对我来说,将所有提交按钮命名为相同的东西(例如“提交”)并根据值进行切换更有意义。 (但我的永远不会和你的一样长。)

 String submitBtnValue = request.getParameter("submit");
 if("first task name".equals(submitBtnValue))
 {
  ...
 }
 else if("second task name".equals(submitBtnValue))
 .....