关于struts1.x action中方法的命名规范


为了提高程序以后的可维护性和可读性,在本系统中关于action中的命名规范将采用统一如下的命名规范;

由于本系统使用的struts1.x 作为web层,所有action都是通过actionServlet转发到各个action的,所有的action都需放在spacer.gif包中,并在WEB-INF/struts-config.xml中配置,

1.Action的命名规则,包括两个部分,前面部分主要是针对那一个实体的action,比如,内容action,可以这样写ContentAction.java.当然你也可以根据的自己的方法去写。这不是硬性要求,只不过我是这样的写的,而且一直都是这样,

2.Struts 1.x为了写多个action而让程序太过于臃肿,特别在编写action时都采用extendsDispatchAction,比如这样publicclass ModelAction extends DispatchAction。如果采用这样的方式,则必须在struts-config.xml文件中配置parameter的值,

<!-- 配置内容管理action -->

<action

parameter="flag"

path="/contentAction"

type="com.mycms.struts.action.ContentAction"

cancellable="true">

<forwardname="manage"path="/WEB-INF/admin/content_manage.jsp"></forward></action>

3.在配置parameter之后,你在action中就可以写多个方法,在使用时如下使用/contentAction.do?flag=#,#的代表你在ContentAction.java.写的方法名;

//跳转到添加内容界面

//提交过来的路径:/contentAction.do?flag=add

public ActionForward add(ActionMapping mapping, ActionFormform,

          HttpServletRequest request, HttpServletResponse response) {

//需要传递的参数栏目id,模型id,模型表单

return mapping.findForward(forward);

}

4.action中方法命名规范,针对action的主要作用是跳转,并在其中组装好下个页面要使用的数据,这样有两种情况,一个是根据id跳转到页面,另外就通过接收数据或者表单后在跳转,

第一种命名方法:如果跳转到管理页面,添加页面,到修改页面。则采用gotoContentManageUI,gotoContentAddUI,gotoContentUpdateUI,

第二种命名方法:如果是添加页面,修改页面,传一个form表单过来给action处理的。则采用doContentAdd, doContentUpdate.

第三种命名方法:如果是查询,查询所有,根据条件查询,分页查询。

则采用,findContentList,findContenListByCondition.

findContentListBypage.提醒,在根据条件查询后的分页应该做一下调整。就是需要在分页模型中,加入条件信息,在点击分页时也同时把分页的条件给findContenListByCondition处理,暂时采用session的、中保存map集合,map<“字段名称”,“值”>

第四种命名方法:就是直接从管理页面过来的排序。采用doContentListOderby.