在使用以下代码段的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
}
答案 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中重新训练数据。