struts2图片上传
2016-03-25 21:30
615 查看
在做struts2上传的时候是很简单的,虽然是个入侵式的框架,但是做文件的操作还是很方便的。
如做图片上传的时候,只需要在jsp页面内有type为file的属性即可。
FileUtils.copyFile();工具类,很好的实现了图片上传。
action代码如下:
如做图片上传的时候,只需要在jsp页面内有type为file的属性即可。
<img src="${basePath}upload/<s:property value='user.headImg'/>" width="100" height="100"/> <%-- <s:hidden> <s:param name="user.headImg"><s:property value ="user.headImg"/></s:param> </s:hidden> --%> <s:hidden name="user.headImg"/> <input type="file" name="headImg"/>然后再action层加上file,fileContentType,fileName即可。使用
FileUtils.copyFile();工具类,很好的实现了图片上传。
action代码如下:
public class UserAction extends ActionSupport { @Resource private UserService userService; private List<User> userList; private User user; private String[] selectedRow; // 设置文件上传 private File headImg; private String headImgContentType; private String headImgFileName; // 列表页面 public String listUI() { userList = userService.findObjects(); return "listUI"; } // 跳转到新增页面 public String addUI() { return "addUI"; } // 保存新增 public String add() { if (user != null) { userService.save(user); } return "list"; } // 跳转到编辑页面 public String editUI() { if (user != null && user.getId() != null) { user = userService.findObjectById(user.getId()); } return "editUI"; } // 保存编辑 public String edit() { try { if (user != null) { if (headImg != null) { String filepath = ServletActionContext.getServletContext().getRealPath("upload/user"); String filename = UUID.randomUUID().toString().replace("-", "")+headImgFileName.substring(headImgFileName.lastIndexOf("."));; FileUtils.copyFile(headImg, new File(filepath,filename)); user.setHeadImg("user/"+filename); } userService.update(user); } } catch (Exception e) { e.printStackTrace(); } return "list"; } // 删除 public String delete() { if (user != null && user.getId() != null) { userService.delete(user.getId()); } return "list"; } // 批量删除 public String deleteSelected() { if (selectedRow != null) { for (String id : selectedRow) { userService.delete(id); } } return "list"; } public List<User> getUserList() { return userList; } public void setUserList(List<User> userList) { this.userList = userList; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String[] getSelectedRow() { return selectedRow; } public void setSelectedRow(String[] selectedRow) { this.selectedRow = selectedRow; } public File getHeadImg() { return headImg; } public void setHeadImg(File headImg) { this.headImg = headImg; } public String getHeadImgContentType() { return headImgContentType; } public void setHeadImgContentType(String headImgContentType) { this.headImgContentType = headImgContentType; } public String getHeadImgFileName() { return headImgFileName; } public void setHeadImgFileName(String headImgFileName) { this.headImgFileName = headImgFileName; } }
相关文章推荐
- Java中的字符串常量池
- java的main函数为什么没有返回值
- Java虚拟机学习之加载机制
- 【JAVA】JAVA之简易的录入系统
- file.encoding
- java数据连接池配置详解(基于mysql)
- SSH学习笔记---struts2 spring集成时action的class的值
- Java——IP和InetAddress
- 轻松掌握JAVA嵌套类
- Java文件读写
- Java的并发
- eclipse Mac 下补全代码
- Spring Web MVC Restful API 优化之路 (1) - 参数构建优化
- javaEE 用户、部门、角色、权限实体的关系设计与hibernate映射配置文件关系总结
- Java实现数组排序
- java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter7-32
- java通过JDBC访问mysql数据库
- 声明了包的类Java命令找不到或无法加载主类
- Spring AOP中pointcut expression表达式解析
- Eclipse常用快捷键