3.学习SpringMVC注解深入
2024-10-08 06:20:07
一.SpringMVC注解:
1.RequestParam注解:
其中required属性默认为true(必须得传而且传的名字一样),为false时可以不传。
编写jsp代码:
<a href="/anno/testRequestParam?name=哈哈">RequestParam</a>
编写AnnoController.java的方法:
/**
* RequestParam 页面的请求参数与接收参数不同
* @param username
* @return
*/
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(name = "name") String username){ System.out.println("执行了...");
System.out.println(username); return "success";
}
2.RequestBody
编写jsp代码:
<%--对于传输json数据时,获得请求体很重要,对于get请求是没有请求体的--%>
<form action="/anno/testRequestBody" method="post">
用户的姓名:<input type="text" name="username"><br>
用户年龄:<input type="text" name="age"><br>
<input type="submit" value="提交">
</form>
/**
* RequestBody 获取到请求体的内容
* @param body
* @return
*/
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestBody String body){ System.out.println("执行了...");
System.out.println(body); return "success";
}
3.PathVariable
编写jsp代码:
<a href="/anno/testPathVariable/10">PathVariable</a>
编写方法:
/**
*PathVariable 绑定url中的占位符,使用restful的风格的URL(同样的URL但是不同的请求方式和占位符)
* @param id
* @return
*/
@RequestMapping("/testPathVariable/{sid}")
public String testPathVariable(@PathVariable(name = "sid") String id){ System.out.println("执行了...");
System.out.println(id); return "success";
}
4.RequestHeader
编写jsp:
<a href="/anno/testRequestHeader">RequestHeader</a>
编写方法:
/**
* RequestHeader 获取请求头信息
* @param header
* @return
*/
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader(value = "Accept") String header){ System.out.println("执行了...");
System.out.println(header); return "success";
}
5.CookieValue
jsp:
<a href="/anno/testCookieValue">CookieValue</a>
编写方法:
/**
* CookieValue 获取到Cookie的值
* @param cookieValue
* @return
*/
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue(value = "JSESSIONID") String cookieValue){ System.out.println("执行了...");
System.out.println(cookieValue); return "success";
}
6.ModelAttribute:
jsp:
<form action="/anno/testModelAttribute1" method="post">
用户的姓名:<input type="text" name="username"><br>
用户年龄:<input type="text" name="age"><br>
<input type="submit" value="提交">
</form>
- 又返回值的方法:返回给后执行的方法当形参
/**
* ModelAttribute 测试有返回值的方法
* @param user
* @return
*/
@RequestMapping("/testModelAttribute1")
public String testModelAttribute1(User user){ System.out.println("testModelAttribute1执行了...");
System.out.println(user); return "success";
} /**
* ModelAttribute 该方法会先于其他方法执行,目的是可以获取数据后先一步查询后操作数据库等
* @param uname
* @return
*/
@ModelAttribute
public User showUser1(String uname){ System.out.println("showUser1执行了..."); //先获得提交的数据进行处理然后传给请求的控制器再进行处理
User user = new User();
user.setUname(uname);
user.setAge(20);
user.setDate(new Date());
return user;
}
- 无返回值:
/**
* ModelAttribute 测试无返回值的方法
* @param user
* @return
*/
@RequestMapping("/testModelAttribute2")
public String testModelAttribute2(@ModelAttribute(value = "abc") User user){ System.out.println("testModelAttribute2执行了...");
System.out.println(user); return "success";
} /**
* ModelAttribute 该方法会先于其他方法执行,目的是可以获取数据后先一步查询后操作数据库等
* @param username
* @param map
*/
@ModelAttribute
public void showUser2(String username, Map<String,User> map){ System.out.println("showUser2执行了..."); //先获得提交的数据进行处理然后传给请求的控制器再进行处理
User user = new User();
user.setUname(username);
user.setAge(20);
user.setDate(new Date()); map.put("abc",user);
}
7.SessionAttribute
jsp:
<a href="/anno/testSessionAttributes">向Session中存入值</a>
<a href="/anno/getSessionAttributes">取出session域值</a>
<a href="/anno/delSessionAttributes">删除session域值</a>
然后开启EL表达式:
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<body>
入门成功
${requestScope.msg} ${sessionScope} </body>
方法:
/**
* SessionAttributes注解
* @param model
* @return
*/
@RequestMapping("/testSessionAttributes")
public String testSessionAttributes(Model model){ System.out.println("testSessionAttributes..."); //底层会存储到request域对象中
model.addAttribute("msg","美美"); return "success";
} /**
* getSessionAttributes 获取Session域
* @param modelMap
* @return
*/
@RequestMapping("/getSessionAttributes")
public String getSessionAttributes(ModelMap modelMap){ System.out.println("getSessionAttributes..."); String msg = (String) modelMap.get("msg");
System.out.println(msg);
return "success";
} /**
* delSessionAttributes 删除session域中值
* @param status
* @return
*/
@RequestMapping("/delSessionAttributes")
public String delSessionAttributes(SessionStatus status){ System.out.println("delSessionAttributes..."); status.setComplete();
return "success";
}
学习完毕!
最新文章
- css3中的animation
- SPM12manual,统计部分(8-10)笔记
- Struts2中关于";There is no Action mapped for namespace / and action name";的总结
- JS之setAttribute和getAttribute
- jquery与服务器交换数据的利器--ajax(异步javascript and xml)
- MySQL基础之第5章 操作数据库
- gpg: no valid OpenPGP data found
- what is delta simulation time
- LSJ_NHibernate第一章 NHibernate介绍
- 使用Multipath进行多链路聚合并对聚合后的设备固定命名
- 在MVC中如何愉快使用Ajax
- mac已安装xctool而简单的执行xctool打包
- JVM学习--(三)配置参数
- php session序列化攻击面浅析
- 第44节:Java当中的JVM
- JEECG 上传插件升级-Online
- Heap-451. Sort Characters By Frequency
- [转]File uploads in ASP.NET Core
- Java写的数据库连接池
- 七牛云整合Ueditor的ThinkPHP版本
热门文章
- asp获取access数据库中的一条随机记录
- 网络编程中用到的SOCKET是什么?
- iOS RACSubject代替通知
- UIDatePicker基本使用
- 025:为什么需要将Logger对象声明为private static final类型的
- java 获取当前方法的被调用信息(被那个方法那个类那一行调用)
- 关于Hive创建分区目录且能查到数据的三种方法
- 微服务框架---搭建 go-micro环境
- 攻防世界高手进阶之Web_python_block_chain(2018年DDCTFmini blockchain)
- Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version)