再列举一些
时间: 2024-02-21 09:57:29 浏览: 146
好的,以下是我再列举的一些精细到代码的 Spring MVC 开发经验:
6. 在 Controller 中使用 @ResponseBody 注解来返回 JSON 数据,例如:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public User detail(@PathVariable("id") Long id) {
User user = userService.getUserById(id);
return user;
}
}
```
7. 在 Controller 中使用 @InitBinder 注解来处理数据类型转换和格式化,例如:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(Model model, @ModelAttribute("user") User user) {
// 处理业务逻辑
return "user/detail"; // 返回视图名称
}
}
```
8. 在 View 中使用 Thymeleaf 模板引擎来渲染 HTML 页面,例如:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>User List</title>
</head>
<body>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
<tr th:each="user : ${list}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
</table>
</body>
</html>
```
9. 在 Controller 中使用 @ExceptionHandler 注解来处理异常,例如:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception ex) {
ModelAndView mav = new ModelAndView();
mav.addObject("exception", ex);
mav.setViewName("error");
return mav;
}
}
```
10. 在使用 Spring WebSocket 进行实时通信时,可以使用 @MessageMapping 和 @SendTo 注解来处理消息的收发,例如:
```java
@Controller
public class WebSocketController {
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
Thread.sleep(1000); // 模拟处理时间
return new Greeting("Hello, " + message.getName() + "!");
}
}
```
以上是我再列举的一些精细到代码的 Spring MVC 开发经验,希望能对你有所帮助。
阅读全文