關於struts1.x action中方法的命名規範
爲了提高程序以後的可維護性和可讀性,在本系統中關於action中的命名規範將採用統一如下的命名規範;
由於本系統使用的struts1.x 作爲web層,所有action都是通過actionServlet轉發到各個action的,所有的action都需放在包中,並在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.