在使用SSM框架,需要注意的一些事情: 记下来,方便以后回顾

在使用SSM框架 需要注意的一些事情: 
记下来,方便以后回顾。
 前台的表单需要输入日期,对应的控制器用一个实体类来接收,那么实体类的和这个日期有关的属性 就需要 加上一个注解
 叫做:@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss” )
如果不需要 小时分钟和秒 就写:
@DateTimeFormat(pattern = “yyyy-MM-dd” )
原因是:页面将数据传到后台,是以字符串的形式。所以时间格式会出错。加上此注解,后台可解析时间格式的字符串。但是后台传到前台,前台没办法解析。需要做如下操作。

解决办法: 参考这篇博客:
https://blog.csdn.net/u014227785/article/details/80162824

使用BootStrap 的框架 里面的 Table 组件 进行数据绑定。 后台使用的是SSM 框架。 前端发送异步请求,发送的参数是:
Integer limit,Integer offset 很神秘,当初不明白到底是怎么设计的。后台要转化参数:
pageUtil.是自己写的一个工具类,有四个属性,分别是
limit, offset ,pageNumber,pageSize…
condition.setPage(pageUtil.getoffset()/pageUtil.getlimit()+1);
condition.setRows(pageUtil.getlimit());
PageInfo pageInfo=userService.getUserByPage(condition);
//封装返回数据
Map<String,Object> map=new HashMap<String,Object>();
map.put(“total”,pageInfo.getTotal());
map.put(“rows”,pageInfo.getList());
return map;

前端的代码如下。BootStrap的Table 组件 用起来 不如EasyUI。
学习起来很复杂。   method:“get”, 这是个坑点啊。
我换成了 post 请求一试,果然 报错。

$(function(){
$(’#table’).bootstrapTable({
method:“get”, //注意这里必须要写,而且只能是get 方式
url: ‘getUserData’, //数据绑定,这是控制器地址
pageNumber:1,
pageSize:5,
sidePagination: ‘server’, // 设置为服务器端分页
pagination:true, //分页属性开启。
height:‘400’,
toolbar:"#ToolBar", //工具栏打开,
showRefresh: true, //是否显示刷新按钮
pageList:[5,8,10,20], //页大小选项 列表
dataType:‘json’,
columns: [{checkbox:true,align:‘center’},{
field: ‘id’,
title: ‘编号’
},{field:‘name’,title:‘用户姓名’},
{title:“操作”,align:‘center’,
formatter:function(value,row,index){
var del=‘删除’;
var updt=‘修改’;
var add=‘增加’;
return del+"&nbsp"+updt+"&nbsp"+add;}

            }],
            onLoadSuccess: function(){  //加载成功时执行
                console.info("加载成功");
            },
            onLoadError: function(){  //加载失败时执行
                console.info("加载数据失败");
            }
        });

    }  )

带参数的分页查询,没有弄明白原理,代码怎么写,还是需要再学习了。。。。

使用Spring MVC 实现文件上传功能: 注意事项为:
第一: POM 文件导入依赖:

commons-fileupload commons-fileupload 1.2.1

第二: 在springmvc配置文件中添加文件上传的配置

第三: :文件上传的表单必需以post方式提交,且添加entype属性enctype=“multipart/form-data”
控制层的代码如下:

@RequestMapping(“addHouse”)
//一个文件域对象与一个CommonsMultipartFile对象对应
public String addHouse(@RequestParam(value = “pfile”,required = false) CommonsMultipartFile pfile ) {
try {
//1.实现文件上传
/* System.out.println(“上传文件名称:”+pfile.getOriginalFilename());
System.out.println(“上传文件大小:”+pfile.getSize());
System.out.println(“上传文件的类型:”+pfile.getContentType());*/

     //上传
     //获取文件的扩展名
    String fname=pfile.getOriginalFilename();
    // 获取文件后缀 也是 扩展名 如 .jpg
    String fexpName=fname.substring(fname.lastIndexOf("."));
     //生成新的文件名
    String saveFileName=System.currentTimeMillis()+fexpName;
    String savePath="d:\\images\\"+saveFileName;
    File savefile=new File(savePath);
    pfile.transferTo(savefile); //上传
} catch (IOException e) {
    e.printStackTrace();
}
return null;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值