AbstractAction
package cn.tz.action.abs; import java.io.File; import java.io.IOException; import java.text.SimpleDateFormat; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.multipart.MultipartFile; import cn.tz.util.file.UploadFileUtil; /** * 专门抽取action中公有的属性或方法 * @author admin * */ public abstract class AbstractAction { /** * 创建要保存的文件名称 * @param photo 上传的文件 * 注意:(1)此处photo要与表单中的上传文件参数名称一致 * (2)必须添加 enctype="multipart/form-data * @return 返回文件名称 */ public String createFileName(MultipartFile photo){ if(photo.isEmpty()){//上传文件为空 return "nophoto.jpg"; }else{ //根据文件类型创建文件名称 return UploadFileUtil.createFileName(photo.getContentType()); } } /** * 保存上传的文件 * @param photo * @param request * @param destFile * @return */ public boolean saveFile(MultipartFile photo,HttpServletRequest request,String fileName){ boolean flag=false; //文件保存的路径 =项目完整路径+文件名称 String filePath=request.getSession().getServletContext().getRealPath(this.getUploadFileDir())+fileName; try { flag=UploadFileUtil.save(photo.getInputStream(), new File(filePath)); } catch (IOException e) { e.printStackTrace(); } return flag; } /** * 具体的上传路径 由子类决定 * @return */ public abstract String getUploadFileDir(); /** * 用来转换日期格式的 * @param binder */ @InitBinder public void initBinder(WebDataBinder binder){ SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //本方法的处理指的是追加一个自定义的转换编辑器,如果遇见的操作目标类型为java.util.Date类 //则使用定义好的SimpleDateFormat类来进行格式化处理,并且允许此参数的内容为空 binder.registerCustomEditor(java.util.Date.class, new CustomDateEditor(sdf, true)); } }
AbstractAction的更多相关文章
- java事件响应方法汇总(容器类监听、监听器类、AbstractAction、反射)
Java图形用户界面中,处理事件时所必须的步骤是: 1.创建接受响应的组件(控件)2.实现相关事件监听接口3.注册事件源的动作监听器4.事件触发时的事件处理 相应的可以通过以下的集中方式来作出事件响应 ...
- Java Swing interview
http://www.careerride.com/Swing-AWT-Interview-Questions.aspx Swing interview questions and answers ...
- Tomcat崩溃
参考: http://bbs.csdn.net/topics/390391810?page=1 自己遇到的: --------------------------------------------- ...
- ExtJS Grid导出excel文件
ExtJS Grid导出excel文件, 需下载POI:链接:http://pan.baidu.com/s/1i3lkPhF 密码:rqbg 1.将Grid表格数据连同表格列名传到后台 2.后台导出e ...
- Python 3.5安装JPype
使用命令pip install jpype1可安装jpype. 如果出现如下情况: creating build\lib.win-amd64-3.5\jpypex copying jpypex\__i ...
- 漫谈可视化Prefuse(二)---一分钟学会Prefuse
前篇<漫谈可视化Prefuse(一)---从SQL Server数据库读取数据>主要介绍了prefuse如何连接数据库sql server并读取数据进行可视化展现. 回头想想还是应该好好捋 ...
- 可视化工具solo show-----Prefuse自带例子GraphView讲解
2014.10.15日以来的一个月,挤破了头.跑断了腿.伤透了心.吃够了全国最大餐饮连锁店——沙县小吃.其中酸甜苦辣,绝不是三言两语能够说得清道的明的.校招的兄弟姐妹们,你们懂得…… 体会最深的一句话 ...
- JAVA实现打印机
我这里有以前收藏的代码,两个类实现了简易的文本打印机的功能,包括预览.简单跟你说一下. 1.PrinterDemo.java主体类,也是入口类,里面有main方法可以直接在Eclipse中调试运行,他 ...
- 十天来学习java的心得体会
有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...
随机推荐
- 03.JavaScript简单介绍
一.JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) N ...
- 转载:Github项目解析(七)-->防止按钮重复点击
不错的东西,记录下... http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/qq_23547831/article/deta ...
- mac搭建lamp环境
转载:https://www.cnblogs.com/beautiful-code/p/7465320.html
- Extjs 基础篇—— Function基础
这里主要是JS的基础知识,也是深入理解Ext的基础.1.参数可变长,注意跟Java还是有一点区别的.例: 1.function getUser(name,age){ 2.alert("nam ...
- makefile特殊符号介绍
http://blog.chinaunix.net/uid-20564848-id-217918.html makefile下$(wildcard $^),$^,$@,$?,$<,$(@D),$ ...
- Django render函数
render() 此方法的作用---结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象. 通俗的讲就是把context的内容, 加载进templates中定义 ...
- 关于ARM指令那些你必须知道的东西
1.32位ARM指令每一位都有其作用,具体如下: 低12为第二操作数, 12~15位为目的寄存器, 16~19位为第一操作数, 20~27就是操作码, 28~31就是条件域. 2.多寄存器load和s ...
- markdown 语法规则
markdown 语法规则 参考Markdown--入门指南 也可以参考这篇 Markdown: Basics (快速入门) 一级标题 二级标题 三级标题 列表 无序 1 2 3 有序 1 2 3 需 ...
- Dubbo中多注册中心问题与服务分组
一:注册中心 1.场景 Dubbo 支持同一服务向多注册中心同时注册, 或者不同服务分别注册到不同的注册中心上去, 甚至可以同时引用注册在不同注册中心上的同名服务. 2.多注册中心注册 中文站有些服务 ...
- java把html标签字符转换成普通字符(反转换成html标签)
package net.jasonjiang.web; import org.junit.Test; import org.springframework.web.util.HtmlUtils; /* ...