📄 catalogaction.java
字号:
package jaoso.news.web.action;
import jaoso.framework.util.MyUtils;
import jaoso.framework.web.action.BaseAction;
import jaoso.news.domain.Article;
import jaoso.news.domain.Catalog;
import jaoso.news.exception.CatalogExistException;
import jaoso.news.service.ArticleService;
import jaoso.news.service.CatalogService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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.validator.DynaValidatorForm;
import java.io.IOException;
import java.util.Collection;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author ?吘夘櫩?
*
*/
public class CatalogAction extends BaseAction {
//~ Static fields/initializers =============================================
/** DOCUMENT ME! */
private static Log log = LogFactory.getLog(CatalogAction.class);
//~ Instance fields ========================================================
/** article manager service */
private ArticleService articleService = (ArticleService) getServiceLocator()
.getService("articleService");
/** catalog manager service */
private CatalogService catalogService = (CatalogService) getServiceLocator()
.getService("catalogService");
//~ Methods ================================================================
/**
* get navigation
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward getNavigation(
final ActionMapping actionMapping,
final ActionForm actionForm,
final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
Catalog[] catalogs = catalogService.findCatalogByParent(null);
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
request.setAttribute("catalogs", catalogs);
return (actionMapping.findForward("success"));
}
/**
* create new catalog
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward createCatalog(
final ActionMapping actionMapping,
final ActionForm actionForm,
final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
ActionErrors errors = new ActionErrors();
DynaValidatorForm form = (DynaValidatorForm) actionForm;
// Was this transaction cancelled?
if (isCancelled(request)) {
removeAttribute(actionMapping, request);
return (actionMapping.findForward("cancel"));
}
//chack token
if (!isTokenValid(request)) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.TokenError"));
resetToken(request);
saveErrors(request, errors);
return (actionMapping.getInputForward());
}
Catalog catalog = (Catalog) form.get("catalog");
catalog.setCatalogId(null);
try {
catalogService.createCatalog(catalog, (String) form.get("parentId"));
} catch (CatalogExistException e) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.CatalogExist"));
}
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (actionMapping.getInputForward());
} else {
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
return (actionMapping.findForward("success"));
}
}
/**
* get index menu
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward indexMenu(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
request.setAttribute("menu", catalogService.findCatalogByParent(null));
return actionMapping.findForward("success");
}
/**
* load all catalog as a tree
*
* @param mapping DOCUMENT ME!
* @param form DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward loadAll(final ActionMapping mapping,
final ActionForm form, final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
ActionErrors errors = new ActionErrors();
String action2 = request.getParameter("action2");
Collection catalogtree;
// if click cancel button goto cancel page
if (isCancelled(request)) {
removeAttribute(mapping, request);
return (mapping.findForward("cancel"));
}
catalogtree = catalogService.getCatalogTree(0, null);
request.setAttribute("catalogtree", catalogtree);
saveToken(request);
if (action2.equals("add")) {
return (mapping.findForward("addSuccess"));
} else if (action2.equals("edit")) {
return (mapping.findForward("editSuccess"));
} else if (action2.equals("remove")) {
return (mapping.findForward("removeSuccess"));
} else {
return (mapping.findForward("cancel"));
}
}
/**
* remove catalog
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward removeCatalog(
final ActionMapping actionMapping,
final ActionForm actionForm,
final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
ActionErrors errors = new ActionErrors();
DynaValidatorForm form = (DynaValidatorForm) actionForm;
// Was this transaction cancelled?
if (isCancelled(request)) {
removeAttribute(actionMapping, request);
return (actionMapping.findForward("cancel"));
}
//chack token
if (!isTokenValid(request)) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.TokenError"));
resetToken(request);
return (actionMapping.getInputForward());
}
catalogService.removeCatalog(((Catalog) form.get("catalog"))
.getCatalogId());
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (actionMapping.getInputForward());
} else {
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
return (actionMapping.findForward("success"));
}
}
/**
* update catalog title
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward updateCatalog(
final ActionMapping actionMapping,
final ActionForm actionForm,
final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
ActionErrors errors = new ActionErrors();
DynaValidatorForm form = (DynaValidatorForm) actionForm;
// Was this transaction cancelled?
if (isCancelled(request)) {
removeAttribute(actionMapping, request);
return (actionMapping.findForward("cancel"));
}
//chack token
if (!isTokenValid(request)) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.TokenError"));
resetToken(request);
return (actionMapping.getInputForward());
}
try {
catalogService.updateCatalog((Catalog) form.get("catalog"));
} catch (CatalogExistException e) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.CatalogExist"));
}
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (actionMapping.getInputForward());
} else {
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
return (actionMapping.findForward("success"));
}
}
/**
* DOCUMENT ME!
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws IOException DOCUMENT ME!
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward viewCatalog(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response)
throws IOException, ServletException {
ActionErrors errors = new ActionErrors();
Integer artCount = null;
Article[] articles;
Catalog catalog;
//查询关键字
String para = request.getParameter("para");
//查询的目录
String catalogId = request.getParameter("catalogId");
//按什么排列
String orderby = request.getParameter("orderby");
//排列次序
String sort = request.getParameter("sort");
//第几页
String page = request.getParameter("pager.offset");
String[] args = { para, catalogId, orderby, sort, page };
articles = articleService.find(args);
artCount = articleService.getArtCount(args);
if (!MyUtils.isBlank(catalogId)) {
catalog = catalogService.getCatalog(catalogId);
request.setAttribute("catalog", catalog);
Catalog parent = catalog.getParent();
if ((parent != null) && (parent.getCatalogId() != null)) {
Map[] parentMap = catalogService.getParents(parent.getCatalogId());
request.setAttribute("parents", parentMap);
}
}
request.setAttribute("articles", articles);
request.setAttribute("artCount", artCount);
if (!errors.isEmpty()) {
saveErrors(request, errors);
return (actionMapping.findForward("faile"));
} else {
return (actionMapping.findForward("success"));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -