发表于: 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基本功能,尽量美化一下界面吧。



返回列表 返回列表
评论

    分享到