createspaceaction.java

来自「针对网络跑步爱好者作为用户而开发的」· Java 代码 · 共 178 行

JAVA
178
字号
package com.briup.run.web.action;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.briup.run.common.exception.MemberServiceException;
import com.briup.run.common.util.BeanFactory;
import com.briup.run.dao.bean.MemberInfo;
import com.briup.run.dao.bean.MemberSpace;
import com.briup.run.service.IMemberService;
import com.opensymphony.xwork2.ActionSupport;

public class CreateSpaceAction extends ActionSupport{
	private static final int BUFFER_SIZE = 16 * 1024;
	private File myfile;
	private String contentType;
    private String myfileFileName;
    
    private String opinion;

	private String runtime;

	private String runhabit;

	private String runstar;

	private String cellphone;

	private String runplace;
	
	public String getCellphone() {
		return cellphone;
	}

	public void setCellphone(String cellphone) {
		this.cellphone = cellphone;
	}

	public String getOpinion() {
		return opinion;
	}

	public void setOpinion(String opinion) {
		this.opinion = opinion;
	}

	public String getRunhabit() {
		return runhabit;
	}

	public void setRunhabit(String runhabit) {
		this.runhabit = runhabit;
	}

	public String getRunplace() {
		return runplace;
	}

	public void setRunplace(String runplace) {
		this.runplace = runplace;
	}

	public String getRunstar() {
		return runstar;
	}

	public void setRunstar(String runstar) {
		this.runstar = runstar;
	}

	public String getRuntime() {
		return runtime;
	}

	public void setRuntime(String runtime) {
		this.runtime = runtime;
	}

	public String getContentType() {
		return contentType;
	}

	public void setContentType(String contentType) {
		this.contentType = contentType;
	}

	

	public String getMyfileFileName() {
		return myfileFileName;
	}

	public void setMyfileFileName(String myfileFileName) {
		this.myfileFileName = myfileFileName;
	}

	public File getMyfile() {
		return myfile;
	}

	public void setMyfile(File myfile) {
		this.myfile = myfile;
	}

	@Override
	public String execute() throws Exception {
		
		HttpServletRequest request = ServletActionContext.getRequest();
		MemberInfo info = (MemberInfo) request.getSession().getAttribute(
				"member");
		MemberSpace space = info.getMemberSpace();
		if (space == null) {
			space = new MemberSpace();
		}
		space.setOpinion(this.opinion);
		space.setRunTime(this.runtime);
		space.setRunHabit(this.runhabit);
		space.setRunStar(this.runstar);
		space.setCellPhone(this.cellphone);
		space.setRunPlace(this.runplace);
		if(this.myfile != null){
			String dir = ServletActionContext.getServletContext().getRealPath("/images/" + info.getNickName());
			String icon = "/images/" + info.getNickName() + "/"+ disposalFormFile(this.myfile, dir);
			space.setIcon(icon);
		}else{
			if(info.getMemberSpace() != null)
				space.setIcon(info.getMemberSpace().getIcon());
		}
		space.setMemberInfo(info);
		info.setMemberSpace(space);
		
		IMemberService memberservice = (IMemberService) BeanFactory
				.getBean("memberService");
		try {
			memberservice.modifyMemberinfo(info);
			request.setAttribute("message", "create the memberspace success");
			return "success";
		} catch (MemberServiceException e) {
			e.printStackTrace();
			return "failure";
		}
	}
	
	private String disposalFormFile(File file, String dir) {
		try {
			File f = new File(dir);
			if (!f.exists()) {
				f.mkdir();
			}
			InputStream in = new FileInputStream(file);
			FileOutputStream writer = new FileOutputStream(dir + "/"
					+ this.myfileFileName);
			int bytesRead = 0;
			byte[] buffer = new byte[8192];
			while ((bytesRead = in.read(buffer, 0, 8192)) != -1) {
				writer.write(buffer, 0, bytesRead);
			}
			writer.flush();
			writer.close();
			in.close();
			file.delete();

		} catch (Exception e) {
			e.printStackTrace();
		}
		return this.myfileFileName;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?