今天,我有回顾了一下前几天做的那个crm的demo,对持久层向表现层传值的问题有了有了新的理解,其实也不算新的,做项目的时候知道,之后就忘了,所以写博客很重要啊!!
先说另一个问题
在mapper接口中,查询方法返回的是LIst,奇怪为什么查询了basedict可以自动封装成List,这个应该就是mapper的底层代码的功能吧,不纠结了,毕竟mybatis这么强大。
重头戏来了
1、注意看Model,之前的博客我就提到过这个问题,现在理解又有了一点点不一样,Model这个.......呃呃呃呃,还是去百度一下吧,如下
MVC全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个 基本部分:模型(Model)、视图(View)和控制器(Controller)。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
视图是用户看到并与之交互的界面。MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
所以
再看jsp页面,
${fromType}应该就不难理解了,fromType被model传过了。 对了c:foreach和c:if是什么,el表达式?jstl?分不清了,再去写两篇随笔,复习一下!!!!