前后端数据的传递

前后端数据的传递方法

1.首先是前端产生的数据通过json获取,然后利用Ajax传递给后端。需要添加jQuery库,因为jQuery库里封装了json数据的操作。
如下图可以设置传递方式等属性。

			$.ajax({
    
    
				type:'POST',
				data:a,//json
				contentType = 'application/json',
				dataType:'json',
				url:'user/saveJsonUser.do',
				success:function(data){
    
    
					alert("发送成功");
				},
				error:function(e){
    
    
					alert("发送失败");
				}

2.利用form表单进行传递:form表单中的有一个action属性,而且form表单可以在向后台传递之前进行数据的检验。form表单有一个onsubmit方法,可以调用js对数据进行检验,比如输入是否合法,如果onsubmit的返回值为true的时候再向后端提交数据,否则直接在前端返回错误。向后端提交数据可以利用action,action后面接的就是后台处理的url

<form action="${pageContext.request.contextPath}/login.action" method="post">
   用户名<input type="text" name="user.name"><br>
   密码<input type="password" name="user.password"><br>
   <input type="submit" value="登录">
</form>

3.通过dom获取标签,触发标签的submit方法直接提交数据到后台

那么后端是如何接收数据的呢?此处以action为例

后端接收数据可以用controller或者servlet
action提交后,后台接收数据的方法
1.request对象获取请求参数
通过ServletActionContext.getRequest()取得Request实例后直接获取参数。


import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
    
    
    public String login() {
    
    
        //通过request对象获取请求参数
        HttpServletRequest request = ServletActionContext.getRequest();
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        //打印属性
        System.out.println(name);
        System.out.println(password);
        return NONE;
    }
}

2.通过属性的set注入获取请求参数
。。。。。。。待补充

猜你喜欢

转载自blog.csdn.net/gsy_csdn1/article/details/115028810