📄 bbsaction.java
字号:
package math.bbs.controller;
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.bbs.dao.BbsDao;
import math.bbs.model.Bbs;
import math.bbs.model.BbsList;
import math.login.model.User;
import math.users.query.dao.QueryDao;
import math.util.Pager;
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 BbsAction 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) throws Exception {
ds=getDataSource(httpServletRequest);
ActionForward myforward = null;
String myaction = actionMapping.getParameter();
if (isCancelled(httpServletRequest)) {
if (__log.isInfoEnabled()) {
__log.info(" [Logon] " + actionMapping.getAttribute() +
" - action was cancelled");
}
return actionMapping.findForward("cancel");
}
if (__log.isInfoEnabled()) {
__log.info(" [Logon] action: " + myaction);
}
if("".equalsIgnoreCase(myaction))
myforward=actionMapping.findForward("failure");
else if("ASK".equalsIgnoreCase(myaction))
{myforward=performAsk(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("SUBMIT".equalsIgnoreCase(myaction))
{myforward=performSubmit(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("BBSLIST".equalsIgnoreCase(myaction))
{
myforward=performBbsList(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("QUE".equalsIgnoreCase(myaction))
{
myforward=performBbsQue(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("ANSWER".equalsIgnoreCase(myaction))
{
myforward=performAnswer(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("MAIN".equalsIgnoreCase(myaction))
{
myforward=performMain(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("CATEGORYLIST".equalsIgnoreCase(myaction))
{
myforward=performCatList(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("STATELIST".equalsIgnoreCase(myaction))
{
myforward=performStateList(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("NEST".equalsIgnoreCase(myaction))
{
myforward=performNest(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("TITLEFIND".equalsIgnoreCase(myaction))
{
myforward=performFind(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("MYASK".equalsIgnoreCase(myaction))
{
myforward=performMyask(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
else if("QUIT".equalsIgnoreCase(myaction))
{
myforward=performqUIT(actionMapping,
actionForm,
httpServletRequest,
httpServletResponse);
}
return myforward;
}
private ActionForward performqUIT(ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
{
HttpSession session =request.getSession();
session.removeAttribute("USER");
return mapping.findForward("success");
}
private ActionForward performMyask(ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
{
try { HttpSession session =request.getSession();
BbsDao bbsd=new BbsDao(ds);
User user =(User) session.getAttribute("USER");
int userid=0;
if (user!=null){
userid=user.getId();
}
int offset;
int length = 15;
String pageOffset = request.getParameter("pager.offset");
if (pageOffset == null || pageOffset.equals("")) {
offset = 0;
} else {
offset = Integer.parseInt(pageOffset);
}
List bbMyasklist=bbsd.bbsMyaskList(offset,length,userid);
int size=bbsd.getSize("bbs","where ask=1 and userid="+String.valueOf(userid));
String url = request.getContextPath() + mapping.getPath() + ".do";
String pagerHeader = Pager.generate(offset, size, length, url);
request.setAttribute("pagerHeader", pagerHeader);
request.setAttribute("LIST", bbMyasklist);
return mapping.findForward("success");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("wrong");
}
}
private ActionForward performFind(ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
{
try { HttpSession session =request.getSession();
BbsDao bbsd=new BbsDao(ds);
String tt=request.getParameter("title");
int offset;
int length = 15;
String pageOffset = request.getParameter("pager.offset");
if (pageOffset == null || pageOffset.equals("")) {
session.setAttribute("tt",tt);
offset = 0;
} else {
tt=String.valueOf(session.getAttribute("tt"));
offset = Integer.parseInt(pageOffset);
}
List bbfindlist=bbsd.bbsFindList(offset,length,tt);
int size=bbsd.getSize("bbs","where ask=1 and title like "+"'%"+tt+"%'");
String url = request.getContextPath() + mapping.getPath() + ".do";
String pagerHeader = Pager.generate(offset, size, length, url);
request.setAttribute("pagerHeader", pagerHeader);
request.setAttribute("LIST", bbfindlist);
return mapping.findForward("success");
} catch (Exception e) {
generalError(request, e);
return mapping.findForward("wrong");
}
}
private ActionForward performNest(ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
{ BbsDao bbsd=new BbsDao(ds);
String id=request.getParameter("id");
String pid=request.getParameter("childid");
String fen=request.getParameter("fen");
bbsd.bbsNest(id);
bbsd.bbsNestState(pid);
bbsd.bbsNestFen(id,fen);
return mapping.findForward("success");
}
private ActionForward performStateList(ActionMapping mapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
{
try { HttpSession session =request.getSession();
BbsDao bbsd=new BbsDao(ds);
String state=request.getParameter("state");
int offset;
int length = 15;
String pageOffset = request.getParameter("pager.offset");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -