2

次のスニペットを使用するASP.netMVCでは、パスワード変更データをコントローラーに送信できます。コントローラでは、投稿されたデータを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; }
    }

私は以下を試しました。しかし、私の場合、いくつかのコントロールを動的に生成しています。ダイナミックコントロールの数が異なるため、コントローラーで適切に取得できません。asp.net MVCのようにurlルーティングのためのjspのより良い方法はありますか?(@ 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でデータを受信する方法です。

于 2012-07-09T13:32:39.977 に答える