⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 topicaction.java

📁 一个基于struts框架开发的论坛系统,适合学习
💻 JAVA
字号:
package frm;


import java.sql.Connection;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.upload.*;
import org.apache.struts.action.*;
import java.io.*;

public class TopicAction extends Action{
	
	public ActionForward perform(ActionMapping map,ActionForm form,
			HttpServletRequest request,HttpServletResponse response){
		System.out.println("---Action-Tpoic---");
		TopicForm cf=(TopicForm)form;
		FormFile file=cf.getFormFile();
		cf.setType("");
		if(file!=null){
			String stype=file.getFileName();
			int idd=stype.lastIndexOf(".");
			if(idd>0){
				cf.setType((stype.substring(idd+1)).toLowerCase());
			} 
			//cf.setFile(file.getFileName());//文件名由保存时决定
			//cf.setType(file.getContentType());//文件类型
		}
		Topic t=cf.getTopic();;
		boolean b=true;
		String errormsg=null;
		Connection con=null;
		User u=null;
		try{
			HttpSession ses=request.getSession();
			u=(User)ses.getAttribute("user");
			if(u!=null){
				System.out.println("User=["+u+"]");
				t.setUser(u.getId());//设置用户账户
				t.setType("");
				con=DataConnection.getConnection();				
				b=DbTopic.save(t,con);
				if(b){
					if(file!=null){
						String name=String.valueOf(t.getId())+"."+cf.getType();
						if(saveFile(file,name)){
							t.setType(cf.getType());
							t.setFile(name);
							DbTopic.updateAttach(t,con);
						}
					}
				}
			}else{
				b=false;
			}
			System.out.println("--Action:"+cf.getChild());			
		}catch(Exception e){
			errormsg=e.getMessage();
			b=false;
			e.printStackTrace();
		}finally{
			if(con!=null){
				try{
					con.close();
				}catch(Exception e){}
			}
		}
		if(u==null){
			System.out.println("失败:登录同时发贴界面!"); 		
			return (map.findForward("login_pub"));
		}
		if(b){
			System.out.println("成功:显示发布的贴子!");
			//request.setAttribute("topic",t);		
			(request.getSession()).setAttribute("topic",t);	
			return (map.findForward("sucess"));
		}
		
		request.setAttribute("id",String.valueOf(t.getChild()));
		
		System.out.println("失败:继续输入!error_msg=["+errormsg+"]");
		request.setAttribute("failMsg",errormsg);
		request.setAttribute("input",cf);
		//(request.getSession()).setAttribute("failMsg",errormsg); 	
		return (map.findForward("fail"));
	}
	
	private boolean saveFile(FormFile f,String to){
		System.out.println("文件另存为:"+to);
		boolean b=false;
		try{
			String dir=servlet.getServletContext().getRealPath("/attach");
			System.out.println("附件目录:"+dir);
			InputStream  in=f.getInputStream();
			OutputStream oo=new FileOutputStream(new File(dir,to));
			byte[] buf=new byte[1024];
			int len=0;
			while(len!=-1){
				if(len>0){
					oo.write(buf,0,len);
				}
				len=in.read(buf,0,buf.length);
			}
			in.close();
			oo.close();
			b=true;
		}catch(Exception e){
			e.printStackTrace();
		}
		return b;
	}

}

⌨️ 快捷键说明

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