如何在jsp中使用jquery提交表单

时间:2012-06-04 15:07:40

标签: jquery asp.net-mvc jsp post

在使用以下代码段的ASP.net MVC中,我们可以将更改密码数据发送到控制器。在控制器中,我们可以将发布的数据转换为ChangepasswordReq对象,我们可以开展业务。现在我在 jsp 中寻找相应的内容。如何从客户端到服务器端进行通信?我想传输一个带有多个控件的更大的表单。(我只使用html来构建我的页面)。任何帮助都会很明显。

 var ChangeReq = { CurrentPassword: epwd, NewPassword: newpwd }
 var jsondata = JSON.stringify(ChangeReq)

            $.ajax({
                type: 'POST',
                url: "/Account/ChangePassword",
                cache: false,
                timeout: 10000,
                contentType: "application/json; charset=utf-8",
                success: function (_results) {
                    //do something

                },
                error: function (_results) {
                   //do something
                }
            });


  [HttpPost]
  public ActionResult ChangePassword(ChangepasswordReq _ChangepasswordReq)
  {
     //do the business
  }

  public class ChangepasswordReq
    {
        public String CurrentPassword { get; set; }
        public String NewPassword { get; set; }
    }

我尝试了以下内容。但在我的情况下,我动态生成一些控件。由于动态控件的数量不同,我无法在控制器中正确获取它们。 jsp中是否有更好的方法用于url路由,就像在asp.net MVC中一样。(优于 @RequestMapping(value =“/ ChangePassword”,method = RequestMethod.POST )) 如何在jsp中正确使用jquery。(请在客户端和服务器端代码帮助我)

@RequestMapping(value = "/ChangePassword", method = RequestMethod.POST)
    public String home(@RequestParam("Currentpasswordtxtboxname") String Currentpassword,@RequestParam("NewPasswordtextboxname") String Newpassword, Locale locale, Model model) {
// do business
}

2 个答案:

答案 0 :(得分:1)

我发现了一些Here

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
    function Savedata() {  
    Var data={Username:$("#txtUsername").[0].value, CurrentPassword:  $("#txtCurrentpwd").[0].value, NewPassword: $("#txtNewpwd").[0].value }

   jsondata=Json.stringify(data);
   $.get('ActionServlet',jsondata,function(responseJson) {   
        //do something with response json
        });
    });
});         
 //Can use Jquery post also as in question
</script>

在服务器端,我们可以获取参数

 protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException 
 {
  String Username =request.getParameter("Username");
  String CurrentPwd =request.getParameter("CurrentPassword");
  String Newpwd =request.getParameter("NewPassword");
 }

在web.xml文件中

<servlet>
  <servlet-name>ActionServlet</servlet-name>
  <servlet-class>MyProject.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>ActionServlet</servlet-name>
  <url-pattern>/ActionServlet/*</url-pattern>
</servlet-mapping>

答案 1 :(得分:0)

Jquery等于发送到jsp,asp或php,服务器端是谁更改。也许正确的答案是如何在jsp中重新训练数据。