⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 action.xdt

📁 appfuse1.9.4开发的一个简单的人事管理,简单的增删改查,修正了display tag乱码问题,解压缩后cmd进入该目录ant setup 部署到tomcat即可在http://localho
💻 XDT
字号:
<XDtTagDef:tagDef namespace="Form" handler="org.example.antbook.xdoclet.FormTagsHandler"/>package <XDtForm:parentPackageName/>.webapp.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;

import <XDtConfig:configParameterValue paramName="basePackageName"/>.webapp.action.BaseAction;
import <XDtConfig:configParameterValue paramName="basePackageName"/>.Constants;
import <XDtPackage:packageName/>.<XDtForm:className/>;
import <XDtForm:parentPackageName/>.service.Manager;
import <XDtForm:parentPackageName/>.webapp.form.<XDtForm:className/>Form;

/**
 * Action class to handle CRUD on a <XDtForm:className/> object
 *
 * @struts.action name="<XDtForm:classNameLower/>Form" path="/<XDtForm:classNameLower/>s" scope="request"
 *  validate="false" parameter="method" input="mainMenu"
 * @struts.action name="<XDtForm:classNameLower/>Form" path="/edit<XDtForm:className/>" scope="request"
 *  validate="false" parameter="method" input="list"
 * @struts.action name="<XDtForm:classNameLower/>Form" path="/save<XDtForm:className/>" scope="request"
 *  validate="true" parameter="method" input="edit"
 * @struts.action-set-property property="cancellable" value="true"
 * @struts.action-forward name="edit" path="/WEB-INF/pages/<XDtConfig:configParameterValue paramName="appModuleNameSlash"/><XDtForm:classNameLower/>Form.jsp"
 * @struts.action-forward name="list" path="/WEB-INF/pages/<XDtConfig:configParameterValue paramName="appModuleNameSlash"/><XDtForm:classNameLower/>List.jsp"
 * @struts.action-forward name="search" path="/<XDtForm:classNameLower/>s.html" redirect="true"
 */
public final class <XDtForm:className/>Action extends BaseAction {
    
    public ActionForward cancel(ActionMapping mapping, ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        return mapping.findForward("search");
    }

    public ActionForward delete(ActionMapping mapping, ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        if (log.isDebugEnabled()) {
            log.debug("Entering 'delete' method");
        }

        ActionMessages messages = new ActionMessages();
        <XDtForm:className/>Form <XDtForm:classNameLower/>Form = (<XDtForm:className/>Form) form;

        // Exceptions are caught by ActionExceptionHandler
        Manager mgr = (Manager) getBean("manager");
        <XDtForm:className/> <XDtForm:classNameLower/> = (<XDtForm:className/>) convert(<XDtForm:classNameLower/>Form);
        mgr.removeObject(<XDtForm:className/>.class, <XDtForm:classNameLower/>.<XDtMethodEx:idField getType="getterName"/>());

        messages.add(ActionMessages.GLOBAL_MESSAGE,
                     new ActionMessage("<XDtForm:classNameLower/>.deleted"));

        // save messages in session, so they'll survive the redirect
        saveMessages(request.getSession(), messages);

        return mapping.findForward("search");
    }

    public ActionForward edit(ActionMapping mapping, ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
    throws Exception {
        if (log.isDebugEnabled()) {
            log.debug("Entering 'edit' method");
        }

        <XDtForm:className/>Form <XDtForm:classNameLower/>Form = (<XDtForm:className/>Form) form;

        // if an id is passed in, look up the user - otherwise
        // don't do anything - user is doing an add
        if (<XDtForm:classNameLower/>Form.<XDtMethodEx:idField getType="getterName"/>() != null) {
            Manager mgr = (Manager) getBean("manager");
            <XDtForm:className/> <XDtForm:classNameLower/> = (<XDtForm:className/>) convert(<XDtForm:classNameLower/>Form);
            <XDtForm:classNameLower/> = (<XDtForm:className/>) mgr.getObject(<XDtForm:className/>.class, <XDtForm:classNameLower/>.<XDtMethodEx:idField getType="getterName"/>());
            <XDtForm:classNameLower/>Form = (<XDtForm:className/>Form) convert(<XDtForm:classNameLower/>);
            updateFormBean(mapping, request, <XDtForm:classNameLower/>Form);
        }

        return mapping.findForward("edit");
    }

    public ActionForward save(ActionMapping mapping, ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
    throws Exception {
        if (log.isDebugEnabled()) {
            log.debug("Entering 'save' method");
        }

        // Extract attributes and parameters we will need
        ActionMessages messages = new ActionMessages();
        <XDtForm:className/>Form <XDtForm:classNameLower/>Form = (<XDtForm:className/>Form) form;
        boolean isNew = ("".equals(<XDtForm:classNameLower/>Form.<XDtMethodEx:idField getType="getterName"/>()) || <XDtForm:classNameLower/>Form.<XDtMethodEx:idField getType="getterName"/>() == null);

        Manager mgr = (Manager) getBean("manager");
        <XDtForm:className/> <XDtForm:classNameLower/> = (<XDtForm:className/>) convert(<XDtForm:classNameLower/>Form);
        mgr.saveObject(<XDtForm:classNameLower/>);

        // add success messages
        if (isNew) {
            messages.add(ActionMessages.GLOBAL_MESSAGE,
                         new ActionMessage("<XDtForm:classNameLower/>.added"));

            // save messages in session to survive a redirect
            saveMessages(request.getSession(), messages);

            return mapping.findForward("search");
        } else {
            messages.add(ActionMessages.GLOBAL_MESSAGE,
                         new ActionMessage("<XDtForm:classNameLower/>.updated"));
            saveMessages(request, messages);

            return mapping.findForward("edit");
        }
    }

    public ActionForward search(ActionMapping mapping, ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        if (log.isDebugEnabled()) {
            log.debug("Entering 'search' method");
        }

        Manager mgr = (Manager) getBean("manager");
        request.setAttribute(Constants.<XDtForm:classNameUpper/>_LIST, mgr.getObjects(<XDtForm:className/>.class));

        return mapping.findForward("list");
    }

    public ActionForward unspecified(ActionMapping mapping, ActionForm form,
                                     HttpServletRequest request,
                                     HttpServletResponse response)
    throws Exception {
        return search(mapping, form, request, response);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -