📄 onlineaskaction.java
字号:
package math.onlineask.controller;
import java.sql.SQLException;
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.onlineask.dao.OnlineAskDAO;
import math.onlineask.model.OnlineAsk;
import math.util.Pager;
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;
public class OnlineAskAction 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();
if (isCancelled(httpServletRequest)) {
if (__log.isInfoEnabled()) {
__log.info(" [Article] " + actionMapping.getAttribute()
+ " - action was cancelled");
}
return actionMapping.findForward("cancel");
}
if (__log.isInfoEnabled()) {
__log.info(" [Article] action: " + myaction);
}
if ("".equalsIgnoreCase(myaction)) {
myforward = actionMapping.findForward("failure");
} else if ("ASKADD".equalsIgnoreCase(myaction)) {
myforward = performAdd(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}else if ("ASKRADD".equalsIgnoreCase(myaction)) {
myforward = performRAdd(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
} else if ("ASKLIST".equalsIgnoreCase(myaction)) {
myforward = performList(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
} else if ("ASKSELECT".equalsIgnoreCase(myaction)) {
myforward = performSelect(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
} else if ("ASKUPDATE".equalsIgnoreCase(myaction)) {
myforward = performUpdate(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}
else if ("ASKSHOWSELECT".equalsIgnoreCase(myaction)) {
myforward = performShowSelect(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
}
else if ("ASKDELETE".equalsIgnoreCase(myaction)) {
myforward = performDelete(actionMapping, actionForm,
httpServletRequest, httpServletResponse);
} else {
myforward = actionMapping.findForward("regerror");
}
return myforward;
}
private ActionForward performRAdd(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
OnlineAskInsertForm form = (OnlineAskInsertForm) actionForm;
try{
BeanUtils.populate(form, BeanUtils.describe(httpServletRequest.getSession().getAttribute("temp")));
return actionMapping.findForward("success");
}catch(Exception e){
e.printStackTrace();
return actionMapping.findForward("");
}
}
private ActionForward performShowSelect(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
int id=Integer.parseInt(httpServletRequest.getParameter("id"));
OnlineAskDAO dao = new OnlineAskDAO(ds);
OnlineAsk ask=dao.askShowSelect(id);
httpServletRequest.getSession().setAttribute("Asks", ask);
return actionMapping.findForward("success");
}
private ActionForward performList(ActionMapping mapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
// AskForm form = (AskForm) actionForm;
try {
OnlineAskDAO dao = new OnlineAskDAO(ds);
HttpSession session = request.getSession();
int temp1 = 0;
int temp;
int offset;
int length = 10;
String condition="";
String condition2 = "";
String condition1 = "";
String pagerOffset = request.getParameter("pager.offset");
if (pagerOffset == null || pagerOffset.equals("")) {
offset = 0;
OnlineAskSelectForm form=(OnlineAskSelectForm) actionForm;
if(form.getAskVip()==null ||form.getAskVip().equals("")){
condition1= "";
}else{
temp=Integer.parseInt(form.getAskVip());
condition1="where vip="+temp+"";
}
if(form.getDifficulty()==null||form.getDifficulty().equals("")){
condition2 = "";
}else{
temp1=Integer.parseInt(form.getDifficulty());
condition2="where difficulty="+temp1+"";
}
if(condition1.equals("")){
condition=condition2;
}
if(condition2.equals("")){
condition=condition1;
}else{
condition+=condition1;
condition+="and difficulty="+temp1+"";
}
session.setAttribute("CONDITION", condition);
} else {
offset = Integer.parseInt(pagerOffset);
condition = (String) session.getAttribute("CONDITION");
if (condition == null) {
condition = "";
}
}
List asklist = dao.askList(offset, length, condition);
int size = dao.getSize("ask_answer", condition);
String url = request.getContextPath() + mapping.getPath() + ".do";
String pagerHeader = Pager.generate(offset, size, length, url);
request.setAttribute("pagerHeader", pagerHeader);
request.setAttribute("LIST", asklist);
OnlineAsk ask=new OnlineAsk();
session.setAttribute("qwe", ask);
return mapping.findForward("success");
} catch (SQLException e) {
generalError(request, e);
return mapping.findForward("failure");
}
}
private ActionForward performDelete(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
int id = Integer.parseInt(httpServletRequest.getParameter("id"));
OnlineAskDAO dao = new OnlineAskDAO(ds);
dao.askDelete(id);
return actionMapping.findForward("success");
}
/**
* ��ݻ�õ�id�鴦������ӵ�Form�?��
* */
private ActionForward performSelect(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
int id=Integer.parseInt(httpServletRequest.getParameter("id"));
OnlineAskDAO dao = new OnlineAskDAO(ds);
OnlineAsk ask=dao.askSelect(id);
OnlineAskUpdateForm form = (OnlineAskUpdateForm)actionForm;
try
{BeanUtils.populate(form, BeanUtils.describe(ask));
return actionMapping.findForward("success");
}catch(Exception e){
e.printStackTrace();
return actionMapping.findForward("");
}
}
private ActionForward performUpdate(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
OnlineAskDAO dao = new OnlineAskDAO(ds);
OnlineAsk ask = new OnlineAsk();
OnlineAskUpdateForm form = (OnlineAskUpdateForm)actionForm;
try{
BeanUtils.populate(ask, BeanUtils.describe(form));
dao.askUpdate(ask);
return actionMapping.findForward("success");
}catch(Exception e)
{e.printStackTrace();
return actionMapping.findForward("");
}
}
private ActionForward performAdd(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
OnlineAskInsertForm form = (OnlineAskInsertForm) actionForm;
OnlineAskDAO dao = new OnlineAskDAO(ds);
OnlineAsk ask = new OnlineAsk();
try {
BeanUtils.populate(ask, BeanUtils.describe(form));
//httpServletRequest.getSession().setAttribute("temp", ask);
dao.askInsert(ask);
String url="";
//String url =actionMapping.getPath()+".do?";
url+="answer="+ask.getAnswer()+"&&award=" +ask.getAward()+"&&difficulty=" +ask.getDifficulty()+"&&type=" +ask.getType() +"&&vip="+ask.getVip();
httpServletRequest.setAttribute("rl", url);
return actionMapping.findForward("success");
} catch (Exception e) {
e.printStackTrace();
return actionMapping.findForward("");
}
}
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(" [Forum] Error - " + e.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -