struts2中的注解应用

在类上配置@Result(name="ok",location="/upload/ok.jsp"),程序会自动转向到webRoot/upload/ok.jsp页面

示例代码:

@Result(name="ok",location="/upload/ok.jsp")

public class TestAction extends ActionSupport {

public String MyMethod() throws Exception {

....

return "ok";

}

}

 

 

项目代码:

package com.zdfd.elec.action.upload;

 

import java.io.File;

import java.io.PrintWriter;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

 

import org.abin.core.service.GenericService;

import org.apache.struts2.ServletActionContext;

import org.apache.struts2.convention.annotation.InterceptorRef;

import org.apache.struts2.convention.annotation.InterceptorRefs;

import org.apache.struts2.convention.annotation.Result;

 

import com.opensymphony.xwork2.Preparable;

import com.zdfd.elec.action.BaseAction;

import com.zdfd.elec.upload.UploadFile;

import com.zdfd.elec.upload.UploadManager;

 

@InterceptorRefs(value = { @InterceptorRef("myFileUploadStack")})

@Result(name="download",location="/download/download.jsp")

@SuppressWarnings("unchecked")

public class UploadAction extends BaseAction implements Preparable {

 

private static final long serialVersionUID = 1L;

 

private UploadManager uploadManager;

private GenericService genericService;

private int newGroupId;

private File[] upload;

private String[] uploadFileName;

String groupId = null;

 

public UploadManager getUploadManager() {

return uploadManager;

}

 

public void setUploadManager(UploadManager uploadManager) {

this.uploadManager = uploadManager;

}

 

/**

* 上传文件

* @return

* @throws Exception 

*/

public String doUpload() throws Exception {

String groupId = ServletActionContext.getRequest().getParameter("id");

String flag = groupId;

try {

if (upload != null) {

for (int i = 0; i < upload.length; i++) {

File file = uploadManager.uploadFile(upload[i],uploadFileName[i]);

UploadFile uploadFile = new UploadFile();

uploadFile.setFileName(file.getName());

uploadFile.setRealName(uploadFileName[i]);

uploadFile.setSavePath(file.getAbsolutePath());

uploadFile.setUploadTime(new Date());

if ("".equals(groupId) || groupId==null) {

groupId = newGroupId + "";

}

uploadFile.setGroupId(Integer.valueOf(groupId));

String extName = getExt(uploadFileName[i]);

if (extName!=null && !"".equalsIgnoreCase(extName)) {

if (".doc".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/doc.gif");

} else if(".txt".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/txt.gif");

} else if(".rar".equalsIgnoreCase(extName) || ".zip".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/rar.gif");

} else if(".ppt".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/ppt.gif");

} else if(".pdf".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/pdf.gif");

} else if(".xls".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/excel.bmp");

} else if(".jpg".equalsIgnoreCase(extName) || ".jpeg".equalsIgnoreCase(extName)) {

uploadFile.setIcon("/images/jpg.jpg");

} else {

uploadFile.setIcon("/images/file.gif");

}

}

insertDB(uploadFile);

}

ServletActionContext.getResponse().setContentType("text/html; charset=UTF-8"); // 转码

PrintWriter out = ServletActionContext.getResponse().getWriter();

out.flush();

out.println("<script>");

out.println("alert('上传成功!')");

out.println("</script>");

}

} catch (Exception e) {

e.printStackTrace();

return upload_fail();

}

if ("".equals(flag) || flag==null) {

return upload_ok();

} else {

String searchTemplate = "FROM UploadFile uploadFile WHERE 1=1 AND groupId=" + groupId;

Map<String,Object> map = new HashMap<String,Object>();

List<UploadFile> list = (List<UploadFile>) genericService.searchForList(searchTemplate, map);

ServletActionContext.getRequest().setAttribute("result", list);

ServletActionContext.getRequest().setAttribute("groupId", groupId);

return "download";

}

}

/**

* 取得文件扩展名

* @param str

* @return

*/

public String getExt(String str){               //获得文件的后缀名

String subStr=str.substring(str.lastIndexOf("."));

return subStr;

}

/**

* 上传成功 ,转到成功页面

* @return

*/

public String upload_ok() {

ServletActionContext.getRequest().setAttribute("newGroupId", newGroupId);

return "upload_ok";

}

/**

* 获得组ID

* @return

*/

private int getGroupId() {

String sql = "select max(groupId) from tbl_attrfile";

int result = genericService.queryForInt(sql, Integer.class);

result ++;

return result;

}

 

/**

* 添加到数据库

* @param file

*/

private void insertDB(UploadFile uploadFile) {

genericService.saveOrUpdate(uploadFile);

}

 

 

/**

* 上传失败,转到错误页面

* @return

*/

public String upload_fail() {

return "upload_fail";

}

 

@Override

public String execute() throws Exception {

/* groupId = ServletActionContext.getRequest().getParameter("id");

if ("".equals(groupId)) {

groupId = getGroupId() + "";

}*/

return SUCCESS;

}

 

public GenericService getGenericService() {

return genericService;

}

 

public void setGenericService(GenericService genericService) {

this.genericService = genericService;

}

 

@Override

public void prepare() throws Exception {

newGroupId = getGroupId();

}

 

public File[] getUpload() {

return upload;

}

 

public void setUpload(File[] upload) {

this.upload = upload;

}

 

public String[] getUploadFileName() {

return uploadFileName;

}

 

public void setUploadFileName(String[] uploadFileName) {

this.uploadFileName = uploadFileName;

}

 

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值