繁体   English   中英

在jsp页面servlet上检索按钮名称

[英]retrieve button-name on jsp page servlet

我正在使用Eclipse开发一个jsp应用程序。 当前尝试通过ajax调用提交表单时检测按下了哪个按钮。 但是request.getParameter(button-name)在servlet的doPost方法中返回null。 以下是jsp,ajax调用(jquery)和servlet的代码。 // jsp

<body>
    <form id="formCreateUser">
        <div>
            <table>
                <tr>
                    <th colspan="4"><label>New User Information</label></th>
                </tr>
                <tr>
                    <td><label>Name : </label> <input type="text" name="txtName"
                        id="txtName" /></td>
                    <td><label>Surname : </label><input type="text"
                        id="txtSurname" name="txtSurname" /></td>
                </tr>
                <tr>
                    <td><label>User name : </label><input type="text"
                        name="txtUserName" /></td>
                    <td><label>E-mail : </label> <input type="text"
                        name="txtEmail" /></td>
                </tr>
                <tr>
                    <td><label>Password : </label><input type="password"
                        id="txtPassword" /></td>
                    <td><label>Re-enter password : </label><input type="password"
                        id="txtPassword2" /></td>
                </tr>
                <tr>
                    <td><label>Is Admin ?</label> <input type="checkbox"
                        value="Admin" name="chkAdmin" id="chkAdmin" /></td>
                </tr>
            </table>
            <input type="button" value="Submit" name="btnSumbit" id="btnSubmit" />
        </div>
    </form>
</body>

// jquery

$(document).ready(function() {  
    $("#btnSubmit").click(function(e) {
        $.ajax({
            url : 'CreateUserServlet',
            type : 'POST',
            dataType : 'json',
            data : $("#formCreateUser").serialize(),
            success : function(data) {
                //something here
            }
        });
        return false;
    });     
}); 

小服务程序

protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        Map<String, Object> map = new HashMap<String, Object>();
        if (request.getParameter("btnSubmit") != null) {
            System.out.println("It works");
        } else {
            System.out.println("It doesn't work");
        }
}

任何帮助表示高度赞赏

在jquery部分中,您必须发送参数及其值,如果您显示serialize()方法,它将不会为您提供btnSubmit的参数,因此必须将其添加到方法中,如下所示:替换此代码:

data : $("#formCreateUser").serialize(),

通过这个:

data : $("#formCreateUser").serialize()+"&btnSumbit="+$("#btnSubmit").val(),

我希望它对您有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM