Spring实战11——SpringMVC模型

17 篇文章 0 订阅
7 篇文章 0 订阅

1.Entity:学生类

public class Student {
	private String id;
	private String name;
	private int age;
	
	public Student() {
		super();
	}

	public Student(String id, String name, int age) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
	}
	
	//getter and setter
}

2.service层,业务逻辑处理

接口与实现类

public interface StudentService {
	public List<Student> getStudents(int page, int count);//获取学生列表
}
@Service
public class StudentServiceImpl implements StudentService {

	@Override
	public List<Student> getStudents(int page, int count) {
		List<Student> list = new ArrayList<Student>();
		for(int i = (page-1)*count+1; i <= count*page; i++) {
			list.add(new Student(i + "", i + "", (int)(new Random().nextInt(25))));
		}
		
		return list;
	}

}

3.控制层,与模型

@Controller
public class StudentController {
    @Autowired
	private StudentService studentService;//自动注入
	
	@RequestMapping(value = "/students1", method = RequestMethod.GET)
	public String students(Model model) {

		/**
		 * model 实际上是一个Map,它会传递给视图,这样数据就能渲染到客户端。
		 * model.addAttribute(studentService.getStudents(1, 20))。
		 * 当调用addAttribute 方法并且不指定key 的时候,那么 key 会根据值的对象类型推断确定。
		 * 本例中因为是List<Student>,因此,键会推断为studentList。
		 */
		model.addAttribute("studentList", studentService.getStudents(1, 20));//添加到模型
		return "students";//返回视图名,添加前后缀
	}
	
	@RequestMapping(value = "/students2", method = RequestMethod.GET)
	public String students(HashMap<String, List<Student>> map) {

		map.put("student", studentService.getStudents(1, 20));//添加到模型
		return "students";//返回视图名
	}
	
	@RequestMapping(value = "/students", method = RequestMethod.GET)
	public List<Student> students() {
		/**
		 * 并没返回视图名称,也没显式地设定模型,而是返回Student 列表。
		 * 当处理器方法返回对象或集合时,这个值会放到模型中,模型的key 会根据其类型推断出,即List<Student> 的key 是studentList。
		 * 视图解析器解析mapping后加上前后缀,默认返回与mapping路径相同的jsp,即直接添加.jsp。
		 */
		return studentService.getStudents(1, 20);
	}
	
}

4.jsp页面

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page pageEncoding="UTF-8" isELIgnored ="false"%>
<html>
<head>
    <title>Title</title>

</head>
<body>
	<c:if test="${studentList != null}">
		<div>学生列表:</div>
	    <c:forEach items="${studentList }" var="stu">
	    	<li id="stu_<c:out value="stu.id" />">
	    		<div class="stuMessage">
	    			id:<c:out value="${stu.id }"></c:out>
	    		</div>
	    		<div>
	    			name:<span class="stuName"><c:out value="${stu.name }"></c:out></span>
	    		</div>
	    			age:<span class="stuAge"><c:out value="${stu.age }"></c:out></span>
	    	</li>
	    </c:forEach>
    </c:if>
    
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Mybatis SpringMVC 实战作业是一种结合了Spring框架、Mybatis框架以及SpringMVC框架的编程任务。在实战作业中,我们需要使用这三个框架实现一个完整的Web应用。 首先,我们需要使用Spring框架实现项目的基本配置和依赖注入功能。Spring框架可以帮助我们管理各个组件的生命周期和依赖关系,并提供了许多实用的特性,如AOP、事务管理等。 其次,我们需要使用Mybatis框架来简化数据库操作。Mybatis是一个持久层框架,可以通过配置文件或注解的方式,将Java对象映射到数据库中的表,并提供了丰富的查询语法和缓存机制。 最后,我们需要使用SpringMVC框架来处理Web请求和响应。SpringMVC是一个基于MVC设计模式的Web框架,可以帮助我们实现灵活的请求处理和页面跳转,还提供了对RESTful风格的支持。 在实战作业中,我们可以按照以下步骤进行操作: 1. 配置Spring框架,包括定义数据源、事务管理等。 2. 配置Mybatis框架,包括定义数据库连接信息、映射文件或注解等。 3. 创建数据库表和实体类,定义它们之间的映射关系。 4. 编写DAO接口和对应的Mapper文件或注解,实现数据库的增删改查操作。 5. 配置SpringMVC框架,包括定义Controller类、请求映射和视图解析器等。 6. 编写Controller类,处理具体的页面请求和业务逻辑。 7. 编写页面模板,实现页面的展示和用户交互效果。 通过完成该实战作业,我们可以深入理解Spring框架、Mybatis框架和SpringMVC框架的使用方法,并掌握它们在Web应用开发中的应用场景和优势。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值