springMVC的@Param注解和@RequestParam注解的区别
@Param 的代码
@Insert("insert into sys_role_permission(permissionid,roleid) values (#{permissionId},#{roleId})")
int addRolePermission(@Param("permissionId") Integer pId,@Param("roleId") Integer roleId);
@Param:
1. 当 @Insert 后⾯的条件有多个的时候 values (#{permissionId},#{roleId}) ,并且⽅法中的 int addRolePermission(@Param("permissionId")
Integer pId, @Param("roleId") Integer roleId); 参数名pId,roleId和 sql中的条件参数#{permissionId} ,#{roleId} 的名称不⼀致的时候,就可以使⽤ @Param 来指定 sql后⾯的参数名
2. 使⽤@Param后,接⼝中的参数顺序也可以打乱,只要id唯⼀即可
3. 当只有⼀个参数的时候可以不使⽤此注解
4. 主要是作⽤在dao层
@RequestParam的代码
/**
* 增加当前⽤户的所有⾓⾊信息
* @param ids
* @param userId
* @return
*/
@ResponseBody
@RequestMapping(value ="/role/add",method = RequestMethod.POST)
public Map<String,Object>addRoleUser(@RequestParam("ids") List<Integer> ids,@RequestParam("userId") Integer userId)
{
HashMap<String, Object> resultJson =new HashMap<>();
int result =0;
try{
result = userService.addUserRole(ids, userId);
}catch(Exception e){
resultJson.put("success",false);
resultJson.put("message","授权失败");
e.printStackTrace();
}
if(result >0){
resultJson.put("success",true);
resultJson.put("message","授权成功");
}
return resultJson;
}
@RequestParam
1. 前端提交的form表单数据的name属性 和⽅法中的参数名不⼀致时 ,springMVC就⽆法⾃动封装参数,所以需要
@RequestParam(前端name属性名称)来指定前端提交的表单的name属性的名称
2. 当前端的name属性和⽅法的参数名⼀致的时候,可以不使⽤此注解
3. 主要作⽤在Controller层
前端jsp页⾯
springmvc的注解有哪些<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="c" uri="java.sun/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="java.sun/jsp/jstl/functions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">
<html>
<head>
<head>
<!-- 页⾯meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible"content="IE=edge">
<title>⽤户⾓⾊管理</title>
<body>
<div>
<form id="userRoleForm"action="/user/role/add"method="post">
<table id="dataList"
class="table table-bordered table-striped table-hover dataTable">
<thead>
<tr>
<th class="" >
<input id="selall"type="checkbox"class="icheckbox_square-blue">
</th>
<th class="sorting_asc">ID</th>
<th class="sorting">⾓⾊名字</th>
<th class="sorting">⾓⾊描述</th>
</tr>
</thead>
<tbody>
<forEach items="${roleList}"var="role">
<tr>
<td><input name="ids"if test="${fn:contains(userRoleIds,'['.concat(role.id).concat(']'))}">checked="checked"</if> type="checkbox" value=" ${role.id}"></td>
<td>${role.id}</td>
<td>${leName }</td>
<td>${leDesc}</td>
</tr>
</forEach>
</tbody>
</table>
<div class="modal-footer">
<%--
隐藏表单,⽤户ID
--%>
<input type="hidden"name="userId"value="${userId}"/>
<button type="button"class="btn btn-default"data-dismiss="modal">关闭</button>
<button type="button"id="formbtn"class="btn btn-primary">提交更改</button>
</div>
</form>
</div>
</body>
<script>
$(function(){
$("#formbtn").click(function(){
$.ajax({
url:'/user/role/add',
type:'post',
data:$('#userRoleForm').serialize(),
dataType:'json',
success:function(data){
if(data.success){
//添加成功
}else{
ssage);
}
}
});
});
});
</script>
</html>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论