SpringMVC完成留言板代码
时间: 2024-05-15 09:12:39 浏览: 176
以下是一个简单的留言板的 Spring MVC 代码示例:
1. 首先,创建一个 Message 实体类,用于存储留言的信息。
```java
public class Message {
private int id;
private String name;
private String content;
private Date createTime;
// getter and setter
}
```
2. 创建一个 MessageService 接口,定义留言相关的操作方法。
```java
public interface MessageService {
void addMessage(Message message);
List<Message> getMessages();
}
```
3. 创建一个 MessageServiceImpl 实现 MessageService 接口,实现留言相关的操作方法。
```java
@Service
public class MessageServiceImpl implements MessageService {
private List<Message> messages = new ArrayList<>();
@Override
public void addMessage(Message message) {
message.setId(messages.size() + 1);
message.setCreateTime(new Date());
messages.add(message);
}
@Override
public List<Message> getMessages() {
return messages;
}
}
```
4. 创建一个 MessageController 控制器,处理用户提交留言和获取留言的请求。
```java
@Controller
public class MessageController {
@Autowired
private MessageService messageService;
@GetMapping("/")
public String index(Model model) {
List<Message> messages = messageService.getMessages();
model.addAttribute("messages", messages);
return "index";
}
@PostMapping("/addMessage")
public String addMessage(Message message) {
messageService.addMessage(message);
return "redirect:/";
}
}
```
5. 创建一个 index.html 页面,用于展示留言列表和提交留言的表单。
```html
<!DOCTYPE html>
<html>
<head>
<title>留言板</title>
</head>
<body>
<h1>留言板</h1>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>留言内容</th>
<th>留言时间</th>
</tr>
<tr th:each="message : ${messages}">
<td th:text="${message.id}"></td>
<td th:text="${message.name}"></td>
<td th:text="${message.content}"></td>
<td th:text="${message.createTime}"></td>
</tr>
</table>
<br>
<form method="post" action="/addMessage">
<label>姓名:</label>
<input type="text" name="name"><br>
<label>留言内容:</label>
<textarea name="content"></textarea><br>
<input type="submit" value="提交">
</form>
</body>
</html>
```
6. 在 Spring Boot 应用程序中配置 Thymeleaf 模板引擎和视图解析器。
```java
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Bean
public ViewResolver viewResolver() {
ThymeleafViewResolver resolver = new ThymeleafViewResolver();
resolver.setTemplateEngine(templateEngine());
return resolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine engine = new SpringTemplateEngine();
engine.setTemplateResolver(templateResolver());
return engine;
}
private ITemplateResolver templateResolver() {
SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
resolver.setPrefix("classpath:/templates/");
resolver.setSuffix(".html");
resolver.setTemplateMode(TemplateMode.HTML);
resolver.setCharacterEncoding("UTF-8");
return resolver;
}
}
```
以上就是一个简单的留言板的 Spring MVC 代码示例。
阅读全文