发表于: 2018-03-28 16:42:21
3 718
上午办入学事项,卒。
下午还是继续看了rest风格的规范写法。
继续昨天的select查询所有表格,今天准备实现查询表格的分页功能,手动实现分页比较麻烦,可以引入
<bean class="com.github.pagehelper.PageInterceptor">
的分页插件,注意此插件在spring与mybanits整合的框架中使用的位置,官网的写法:
实际应用过程之中的写法:
注意5.0.0以上的pagehelper中的分页插件是PageInterceptpr,而且value中不用再配置数据库名称(如value=”mysql“),因为5.0.0以上的已经实现了自动扫描数据库功能,会和你链接的数据库自动匹配,一开始按照网上的一个写法导入了两个jar包,还冲突了,其实只需要导入一个jar包:
就可以实现分页功能。
这插件应该还是国人做的,放个github地址:https://github.com/pagehelper/Mybatis-PageHelper。
插入遇到了中文乱码问题:现在解决中,汇总一下网上的方法,但是对我这个都没起啥作用:
(1)在requestMapping后面加入接受数据的格式:
(2)在表单form后面添加接受数据的格式:
(3)修改tomcat的server配置文件:
输出还是乱码。
今天的收获:
(1)学会了使用超链接进行查询分页,这里我使用了一种比较麻烦的方法,再声明一个分页类进行分页计数,代码实现如下:
在jsp视图界面中使用超链接完成/studentlist?start=页数的跳转然后显示数据。
(2)到底什么是rest
rest是一种风格吧,具体体现在任务二中的是@requestmapping中value值,昨天想了好久如何在页面上实现CRUD的功能想了好久,CRUD实现的方法其实不太一样,昨天试着实现了一下create功能,这里是页面提交了一个表单经过web.xml的过滤选择了controller控制器,控制器通过requestmapping的值选择对应的方法,下面的过程就是我们任务一熟悉的在方法中实现操作数据库数据,最后通过ModelAndView对象返回对应的视图界面,那么rest的作用呢?是一种规范写法,让你的requestmapping看起来更加规范,使用同一个url完成更多的工作。
在最开始做的时候,method的值基本知识post和get,rest风格则可以使用不同的方法对同一个url进行操作,省去了不必要的麻烦,比如如果想在liststudent增加一个数据,以前的写法:
@RequestMapping(value="/addlistStudent?name=1",method=post)而使用了rest风格的写法:@RequestMapping(value=“/listStudent,method=put)。
如果我想要实现查询和增加操作我就可以都在/listStudent下完成这两个操作,method分别使用put和get,而如果想要实现删除修改和查询操作,我只需要/listStudent/1 ,跳转到name=1下使用delete完成删除、post完成修改、get完成获取。
(3)ModelAndView的传参方法
先明确这里如果new了一个modelandview的对象,则你需要为他设定两个值,一个是model,一个是view
可以只使用view名称返回:ModelAndView(String viewName)
可以将model方入map中返回,需要设定map中对象的key与value值:ModelAndView(String viewName,Map model)
返回一个model对象,借助modelname在jsp中取出model:ModelAndView(String viewName,String modelName,Object modelObject)
也可以提供实作View接口的对象来作View的参数:
ModelAndView(View view)
ModelAndView(View view,Map model)
ModelAndeView(View view,String modelName,object modelObject)
modelandeview预设forward转发请求结果至视图,而我们可以使用redirect:/
重导页面,例如删除增加中就可以使用redirect重导至列出对象所有属性的页面。
还有一种最传统的:ModelAndView modelAndView=new ModelAndView();
用构造函数构造出的对象必须设置view(model不是必须的),view的设置方法:
setViewName(String viewName) setView(View view)
viewname我认为直接定位到jsp的名字就可以了,没有过多的深入研究。
而model的设置方法我也是采用了:
addobject(String modelName,object modelObject)。
未完成的事情:
jsp好多东西要学,尤其是使用rest风格后,还要调用put和delete方法(可能只用post和get也能实现?)。
今日计划:做出CRUD基本功能,尽量美化一下界面吧。
评论