2012-06-04 26 views
2

在使用以下代碼片斷的ASP.net MVC中,我們可以將更改密碼數據發送到控制器。在控制器中,我們可以將發佈的數據轉換爲ChangepasswordReq對象,我們可以開展業務。現在我正在尋找相當於jsp。如何從客戶端到服務器端進行通信?我想轉移一個更大的表單和一些控件(我只使用html來構建我的頁面)。任何幫助將是可觀的。如何在jsp中使用jquery提交表單

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(值=「/ ChangePassword」,方法= 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 
} 
+1

時間允許的話,需要如何格式化您的帖子一目瞭然:HTTP ://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks – Jesse

+1

從客戶端到服務器的通信將是相同的,無論其JSP,ASP.NET,PHP等。客戶端POSTs到一個URL,並在JSP中處理POST變量。 我想你問的是服務器上的操作,而不是你說的客戶端。你的帖子不夠清楚。 – roryok

回答

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> 
0

jquery發送到jsp,asp或php是相等的,服務器端是誰更改。也許正確的答案是如何在jsp中重新獲取數據。

+0

我知道這些..什麼是jquery post中接受jsp服務器端數據的有效方法。 – amesh