如何在JSP中提交表单?

时间:2010-04-18 18:06:45

标签: jsp forms submit

我正在尝试使用JSP创建在线考试。我想逐个问题并在屏幕上显示它们,并创建一个“下一步”按钮,然后用户可以看到下一个问题,但问题是我不知道如何找出用户有单击“下一步”按钮,我知道如何在PHP中执行此操作:

if($_SERVER['REQUEST_METHOD']=='GET')
    if($_GET['action']=='Next')

但我不知道如何在JSP中执行此操作。请帮我 这是我的代码:

    String result = "";
    if (database.DatabaseManager.getInstance().connectionOK()) {
        database.SQLSelectStatement sqlselect = new database.SQLSelectStatement("question", "question", "0");
        ResultSet _userExist = sqlselect.executeWithNoCondition();
        ResultSetMetaData rsm = _userExist.getMetaData();

        result+="<form  method='post'>";
        result += "<table border=2>";
        for (int i = 0; i < rsm.getColumnCount(); i++) {
            result += "<th>" + rsm.getColumnName(i + 1) + "</th>";
        }

        if (_userExist.next()) {                
            result += "<tr>";
            result += "<td>" + _userExist.getInt(1) + "</td>";
            result += "<td>" + _userExist.getString(2) + "</td>";
            result += "</tr>";
            result += "<tr>";
            result += "<tr> <td colspan='2'>asdas</td></tr>";
            result += "</tr>";                
        }
        result += "</table>";
        result+="<input type='submit' value='next' name='next'/></form>";
    }

1 个答案:

答案 0 :(得分:1)

所有涉及的HTML输入元素的名称 - 值对可用作请求参数。

<input type="submit" name="action" value="prev">
<input type="submit" name="action" value="next">

String action = request.getParameter("action");
if ("prev".equals(action)) {
    // Prev button pressed.
} else if ("next".equals(action)) {
    // Next button pressed.
}

或者,

<input type="submit" name="prev" value="prev">
<input type="submit" name="next" value="next">

if (request.getParameter("prev") != null) {
    // Prev button pressed.
} else if (request.getParameter("next") != null) {
    // Next button pressed.
}

也就是说,模板文本属于JSP文件,而不属于Servlet类。我建议让自己通过those tutorials来学习如何以正确的方式使用JSP / Servlet / MVC / JDBC进行编程。