java struts2 方法命名

    技术2025-12-12  13

         最近遇到一个问题我很困惑。今天终于在无意间,发现了解决的办法。问题尽然出在struts 的action类文件中的方法名命名上。具体问题描述如下:

    struts2配置文件部分如下:

     <package name="servicedesk" namespace="/servicedesk" extends="itosm">   <action name="mainpage" class="serviceDeskAction" method="initServiceDesk">     <result name="success">/main/servicedesk.jsp</result>   </action>   <action name="tasklist" class="serviceDeskAction" method="getTaskList">     <result name="success" type="json">         <param name="root">serviceDeskVO.tasklist</param>     </result>   </action> 

       <action name="tasklist" class="serviceDeskAction" method="initTaskList">     <result name="success" type="json">         <param name="root">serviceDeskVO.tasklist</param>     </result>   </action>   </package>

     -------------------------------------------------------------------------------------------------------

    action文件中有方法:

        public String initServiceDesk(){            return SUCCESS;    }        public String getTaskList(){

                return SUCCESS;    }

     

        public String initTaskList(){

                return SUCCESS;    }

    ----------------------------------------------------------------------------------------------------------

    请求的url为:..../servicedesk/mainpage

     

    -----------------------------------------------------

    现象描述:我在上述方法的所有return 前都加了一个断点。结果发现我请求的时候,先调用了initServiceDesk(),在调用了getTaskList();没有调用方法initTaskList();

    我一直很纳闷为什么会调用getTaskList 这个方法。后来才明白,可能方法名不能以get开头。测试中方法initTaskList没有被调用就很好的说明了这个问题。

    看来方法命名很重要啊!而且我有一个习惯习惯在方法名前加get;看来以后得注意一下了!!!!

    最新回复(0)