📄 topicaction.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 + -