1

我有这样的表格

<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

4

3 回答 3

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))
 .....
于 2013-11-04T22:15:22.630 回答
1

尝试改用<button>标签(参考

<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');
于 2013-11-04T22:11:14.427 回答
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>

于 2013-11-04T22:12:18.490 回答