2

在 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
}
4

2 回答 2

1

我在这里找到了一些东西。

<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>
于 2012-10-17T10:15:12.290 回答
0

jquery对于发送到jsp、asp或者php是相等的,服务器端谁改。也许正确的答案是如何在jsp中recib数据。

于 2012-07-09T13:32:39.977 回答