struts2中的注解应用

本文探讨了移动开发领域的关键技术,包括iOS、Android、小程序等平台的开发,以及前端框架如React、Vue、Angular在实际项目中的应用,强调了跨平台开发与前端交互的重要性。

在类上配置@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;

}

 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值