创建Struts Action 和 JSP,主要步骤 [1] Add XDoclet Tags to Person to generate PersonForm  [2] Create skeleton JSPs using XDoclet  [3] Create PersonActionTest to test PersonAction  [4] Create PersonAction  [5] Run PersonActionTest  [6] Clean up the JSP to make it presentable  [7] Create Canoo WebTests to test browser-like actions  · [1] 为Person添加XDoclet Tags来产生PersonForm  在Person.java里面添加XDoclet的标签  @struts.form.include-all="true" extends="BaseForm"  ant compile   · [2] 使用XDoclet 来创建JSP的skeleton(骨架)  在“开始” -> “运行” 里面输入 CMD  进入到你项目的path/extras/viewgen  ant -Dform.name="PersonName" (会产生PersonForm.properties、PersonForm.jsp 、PersonFormList.jsp)  COPY PersonForm.properties 到 web/WEB-INF/class/ApplicationResources_en.properties      · [3] 创建测试PersonAction 的PersonActionTest  做到这里了,我确实对测试没有好感,实在太麻烦了。~~~~~~~~又这个命令那个text.  唉~~~不过专家说好。忽然想起Eason(陈奕迅)的《专家话》这首歌~~~    * 专家的建议 早餐不要悭  一天里面最重要是这个简单习惯  专家的建议 呼吸请你小心  避免吸错了空气的炭 无时和无地  * 十万样做法像是对 但错我也不知  实在没办法辨别每样看法与构思  有专家会蚀言 一些却未能辨  谁是对 或会准 或有偏差 有商确异见 *  ..........    早餐不能不吃,专家的话不能不听~~~~程序员还是要写得~~~~¥%…※%×※ 省略几个粗口  1 .在test/web/**/action 目录中创建PersonActionTest.java     专家建议:复制→另存为一个已经有的ActionTest (i.e. UserActionTest) 用[P]erson覆盖 [Uu]se。  2 .在src/dao/**/Constants.java中添加一个变量PERSON_KEY. 名字"personForm"要和struts-config.xml     中配置的form名字一样.   /**       * The request scope attribute that holds the person form.       */      public static final String PERSON_KEY = "personForm";   如果运行这个测试会有一些错误,因为你还没有创建Action · [4] 创建PersonAction  创建PersonAction很容易,里面不外乎就是定义一些方法,然后依据 log , message , formbean ,forward 一步一步  没有悬念。  1.在Javadoc 里面定义xdoclet(struts.action)的信息  2.extends BaseAction  3.Create需要的方法 cancel()、delete()、edit()、save()    说明:  convert是转换一个PersonForm或者Person对象,互换。它内部调用ConvertUtil.convert()方法,  并使用BeanUtils.copyProperties 将进行如下转换:POJO → ActionForm,将ActionForm → POJO。 · [5] 运行PersonActionTest   添加示例数据文件(metadata/sql/sample-data.xml)用于测试ActionTest  如果这个表和其他的表用外键/触发器关联,则必须注意表创建的顺序和数据添加的顺序  <table name='person'>      <column>id</column>      <column>first_name</column>      <column>last_name</column>      <row>        <value>1</value>        <value>Matt</value>        <value>Raible</value>      </row>      <row>        <value>2</value>        <value>James</value>        <value>Davidson</value>      </row>  </table>    运行:ant test-web -Dtestcase=PersonAction   · [6] 清理JSP,使它合乎要求 [make it presentable]  把没有用的字段去掉,如id    现在执行ant db-load deploy, 然后启动Tomcat,最后打开浏览器,  输入 http://localhost:8080/appfuse/editPerson.html?id=1 , 你就能看到界面:     注意:如果你改变了web目录下的任何文件,要使用deploy-web target.   否则,使用deploy 编译并部署,我之前就是没有看到这个说明,怎么搞都不行,  很郁闷,根据以前开发EJB的经验,自己delopy一下,就可以了。  
  · [7] 创建测试Action的Canoo WebTest[可以像浏览器一样测试Action]  省略......偶不喜欢这种JSP的测试方式,就是这样测试了,我还要在JSP上再测试一次  麻烦~~~  
 
  
 
  |