📄 tlinkaction.java
字号:
package math.tlink.controller;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;
import math.article.controller.ArticleForm;
import math.article.controller.SearchForm;
import math.article.dao.ArticleDAO;
import math.article.model.Article;
import math.tlink.dao.TlinkDAO;
import math.tlink.model.Tlink;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
public class TlinkAction extends Action {
private org.apache.commons.logging.Log __log = LogFactory.getFactory()
.getInstance(this.getClass());
private DataSource ds = null;
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ds = getDataSource(httpServletRequest);
ActionForward myforward = null;
String myaction = actionMapping.getParameter();
// ds = getDataSource(httpServletRequest);
if (isCancelled(httpServletRequest)) {
if (__log.isInfoEnabled()) {
__log.info(" [Tlink] " + actionMapping.getAttribute()
+ " - action was cancelled");
}
return actionMapping.findForward("cancel");
}
if (__log.isInfoEnabled()) {
__log.info(" [Tlink] action: " + myaction);
}
if ("".equalsIgnoreCase(myaction)) {
myforward = actionMapping.findForward("failure");
} else if ("TLINKADD".equalsIgnoreCase(myaction)) {
myforward = performAdd(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}else if ("TLINKUPDATE".equalsIgnoreCase(myaction)) {
myforward = performUpdate(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}else if ("TLINKDEL".equalsIgnoreCase(myaction)) {
myforward = performDel(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}else if ("TLINKLIST".equalsIgnoreCase(myaction)) {
myforward = performList(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}else if ("TLINKSAVE".equalsIgnoreCase(myaction)) {
myforward = performSave(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}else if ("TLINKSHOW".equalsIgnoreCase(myaction)) {
myforward = performShow(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}
else {
myforward = actionMapping.findForward("regerror");
}
return myforward;
}
private ActionForward performAdd(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
TlinkDAO tlinkDAO = new TlinkDAO(ds);
// 获得表单信息
TlinkForm tlinkForm = (TlinkForm) actionForm;
Tlink tlink = new Tlink();
// 将tlinkForm中的值赋给tlink
BeanUtils.populate(tlink, BeanUtils.describe(tlinkForm));
String pic_path = "";
if (tlinkForm.getTheFile().getFileName() == null
|| tlinkForm.getTheFile().getFileName().equalsIgnoreCase("")) {
pic_path = "";
} else {
if (actionForm instanceof TlinkForm) {
ds = getDataSource(request);
String encoding = request.getCharacterEncoding();
if ((encoding != null)
&& (encoding.equalsIgnoreCase("GB2312"))) {
response.setContentType("text/html;charset=GB2312");
}
String Dir = "../webapps" + request.getContextPath()
+ "/tlink_img";
File dirName = new File(Dir);
if (!dirName.exists()) {
dirName.mkdirs();
}
String gs = tlinkForm.getGs();
Date mydate = new Date();
long picname = (long) mydate.getTime();
pic_path = "tlink_img/" + picname + gs;
FormFile file = tlinkForm.getTheFile();
try {
InputStream stream = file.getInputStream();
OutputStream bos = new FileOutputStream(Dir + "/"
+ picname + gs);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
// close the stream
stream.close();
} catch (FileNotFoundException fnfe) {
return null;
} catch (IOException ioe) {
return null;
}
// destroy the temporary file created
file.destroy();
}else{
return mapping.findForward("failure");
}
}
tlink.setTlink_image(pic_path);
tlinkDAO.insert(tlink);
return mapping.findForward("success");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
/////////////////////////////////////////////////////////////////////////
private ActionForward performDel(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
int id = 0;
String str_id = request.getParameter("tlink_id");
if (str_id != null && !str_id.equals("")) {
id = Integer.parseInt(str_id);
} else {
return mapping.findForward("error");
}
TlinkDAO tlinkDAO = new TlinkDAO(ds);
TlinkForm tlinkForm = (TlinkForm) actionForm;
// 实例花Reg;
Tlink tlink = new Tlink();
// 将tlinkForm中的值赋给tlink
BeanUtils.populate(tlink, BeanUtils.describe(tlinkForm));
// 将tlink作为参数传给tlinkDAO中的delete函数
//tlink.setTlink_id(id);
tlinkDAO.delete(tlink);
return mapping.findForward("success");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
///////////////////////////////////////////////////////////////////////////
private ActionForward performUpdate(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
TlinkDAO tlinkDAO = new TlinkDAO(ds);
TlinkForm tlinkForm = (TlinkForm) actionForm;
int id = 0;
String str_id = request.getParameter("tlink_id");
if (str_id != null && !str_id.equals("")) {
id = Integer.parseInt(str_id);
} else {
return mapping.findForward("error");
}
// 实例花Reg;
Tlink tlink = tlinkDAO.select(id);
// 将Reg中的值赋给regForm
BeanUtils.populate(tlinkForm, BeanUtils.describe(tlink));
request.setAttribute("tlink", tlink);
return mapping.findForward("success");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
/////////////////////////////////////////////////////////////////////////////
private ActionForward performSave(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
TlinkDAO tlinkDAO = new TlinkDAO(ds);
// 获得表单信息
TlinkForm tlinkForm = (TlinkForm) actionForm;
String pic_path = "";
if (actionForm instanceof TlinkForm) {
ds = getDataSource(request);
String encoding = request.getCharacterEncoding();
if ((encoding != null) && (encoding.equalsIgnoreCase("GB2312"))) {
response.setContentType("text/html;charset=GB2312");
}
String Dir = "../webapps" + request.getContextPath()
+ "/tlink_img";
File dirName = new File(Dir);
if (!dirName.exists()) {
dirName.mkdirs();
}
String gs = tlinkForm.getGs();
Date mydate = new Date();
long picname = (long) mydate.getTime();
if (tlinkForm.getTheFile().getFileName() == null
|| tlinkForm.getTheFile().getFileName()
.equalsIgnoreCase("")) {
pic_path = "";
} else {
pic_path = "tlink_img/" + picname + gs;
FormFile file = tlinkForm.getTheFile();
try {
if (!tlinkForm.getTheFile().getFileName()
.equalsIgnoreCase("")) {
InputStream stream = file.getInputStream();
OutputStream bos = new FileOutputStream(Dir + "/"
+ picname + gs);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesRead);
}
bos.close();
// close the stream
stream.close();
}
} catch (FileNotFoundException fnfe) {
return null;
} catch (IOException ioe) {
return null;
}
file.destroy();
}
Tlink tlink = new Tlink();
// 将tlinkForm中的值赋给tlink
BeanUtils.populate(tlink, BeanUtils.describe(tlinkForm));
tlink.setTlink_image(pic_path);
tlinkDAO.update(tlink);
return mapping.findForward("success");
}
return mapping.findForward("failure");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
/////////////////////////////////////////////////////////////////////////////
private ActionForward performList(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
HttpSession session = request.getSession();
String condition = "";
TlinkDAO tlinkDAO = new TlinkDAO(ds);
int offset;
int length = 10;
String pageOffset = request.getParameter("pager.offset");
if (pageOffset == null || pageOffset.equals("")) {
offset = 0;
TlinkSearchForm searchForm = (TlinkSearchForm) actionForm;
if (searchForm.getConditionid() == 1) {
condition = "where tlink_name like '%"
+ searchForm.getCondition() + "%'";
} else if (searchForm.getConditionid() == 0) {
if (searchForm.getCondition() == null)
condition = "";
else
condition = "where tlink_name like '%"
+ searchForm.getCondition()
+ "%'";
}
session.setAttribute("CONDITION", condition);
} else {
offset = Integer.parseInt(pageOffset);
condition = (String) session.getAttribute("CONDITION");
if (condition == null) {
condition = "";
}
}
List tlinklist = (List) tlinkDAO.list(offset, length,
condition);
int size = tlinkDAO.getSize("tlink", condition);
String url = request.getContextPath() + mapping.getPath()
+ ".do";
String pagerHeader = math.util.Pager.generate(offset, size,
length, url);
request.setAttribute("pagerHeader", pagerHeader);
request.setAttribute("LIST", tlinklist);
//request.setAttribute("articletype1", tlinklist);
return mapping.findForward("success");
}
catch (Exception e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
////////////////////////////////////////////////////////////////////////////////
private ActionForward performShow(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
try {
HttpSession session = request.getSession();
TlinkDAO tlinkDAO = new TlinkDAO(ds);
int id = 0;
String str_id = request.getParameter("tlink_id");
if (str_id != null && !str_id.equals("")) {
id = Integer.parseInt(str_id);
} else {
return mapping.findForward("error");
}
// 实例花Reg;
Tlink tlink = tlinkDAO.select(id);
session.setAttribute("tlink", tlink);
// 将reg作为参数传给RegDAO中的insert函数
return mapping.findForward("success");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
////////////////////////////////////////////////////////////////////////////
// private void sqlNullError(HttpServletRequest request, int result) {
// ActionErrors errors = new ActionErrors();
// if (result == 1) {
// errors.add("reg", new ActionError("error.reg.exist"));
// }
// if (result == 2) {
// errors.add("wrong", new ActionError("error.reg.pass"));
// }
// if (result == 3) {
// errors.add("relogin", new ActionError("error.reg.relogin"));
// }
// saveErrors(request, errors);
// if (__log.isErrorEnabled()) {
// __log.error(" [Reg] has not found - " + result);
// }
// }
private void generalError(HttpServletRequest request, Exception e) {
ActionErrors aes = new ActionErrors();
aes.add(aes.GLOBAL_ERROR, new ActionError("error.general", e
.getMessage()));
saveErrors(request, aes);
e.printStackTrace();
if (__log.isErrorEnabled()) {
__log.error(" [Tlink] Error - " + e.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -