前端后台传值的几种方式

1.url传值

优点:传递参数较少时,操作方便,简单明了

缺点:参数会暴露,不利于保密,不适合多数据传输

.jsp文件代码

<a href="#" onclick="updateById(${user.id})">更新</a>

.servlet文件代码

String sql ="select * from user where id = "+id;
		List<Map<String, String>> show = 
				mysqlUtil.show(sql, new String[] { "id", "account", "pwd" });
		
		User u = new User();
		for (Map<String, String> m : show) {//循环查出来的数据 整合到List<User> list 
			u.setId(Integer.parseInt(m.get("id")));
			u.setAccount(m.get("account"));
			u.setPwd(m.get("pwd"));
		}
		request.setAttribute("user", u);
		request.getRequestDispatcher("update.jsp").forward(request, response);

2.form表单

form表单提交,当点击submit时,action="servletAction" method='get/post'

其中action中写后台接口,表单必须是submit,参数会把input框name属性和value属性按key/value的形式传到后台指定地址

提交方式get和post的主要区别在于传递的参数会不会在URL地址显示

<form action="StudentAddServlet" method="post" role="from">
       <input type="text" name="id" placeholder="编号">
       <input type="text" name="stuno" placeholder="学号">
       <input type="text" name="name" placeholder="姓名">
       <input type="text" name="gender" placeholder="性别">
       <input type="text" name="age" placeholder="年龄">
       <button type="submit" >提交</button>
</form>

3.JQuery中的ajax提交

数据多时构建json对象,转换成json格式的string后传递给后台

$.ajax({
	type: 'POST',
	url: 'TestJsonServlet',
	data: {"id":id,"name":name},
	dataType:"JSON",
	success: function(data,msg){	  	  
		console.log(data);		 
		show(data.data);
				
	},
	error:function(xhr,errorMsg,error){
		alert(xhr.status);
		alert(errorMsg);  
	}
});

.servlet文件中使用字符串拼接构建json对象

String sql="select * from user";
List<Map<String,String>> show = mysqlUtil.show(sql,
    new String[] {"id","account","pwd"});
	String json="{\"code\":\"200\",\"data\":[";
		
for(Map<String,String>map:show) {
   String id = map.get("id");
   String account = map.get("account");
   String pwd = map.get("pwd");
   json +={\"id\":\""+id+"\",\"account\":\""+account+"\",\"pwd\":\""+pwd+"\"},";
}
json=json.substring(0,json.length()-1);
json += "]}";
response.getWriter().write(json);

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值