在学习 appfuse 1.9.4的过程中,在生成其自身所带示例中的status+spring+hibernate 过程中,发现缺少FORM和config文件。
1、在AppGen中没有能够生成Struts的Form
在gen的target的中,添加生成Struts Form的子任务
<!-- generate struts forms -->
<xdoclet destdir="${build.dir}/${gen.dir}/web" excludedtags="@version,@author"
addedtags="@xdoclet-generated at ${TODAY}" force="${xdoclet.force}"
mergedir="metadata/web">
<fileset dir="F://Java//Eclipse//Space//appfuse//WEB-INF//src"/>
<configParam name="basePackageName" value="org.appfuse"/>
<!-- generate struts forms -->
<actionform templateFile="${template.dir}/generic/struts_form.xdt">
<packageSubstitution packages="model" substituteWith="webapp.form"/>
</actionform>
</xdoclet>
2、在AppGen中没有能够生成struts-config.xml
在gen的target中添加生成Struts-config.xml的子任务。
<taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask">
<classpath>
<path refid="xdoclet.classpath"/>
<path refid="web.libs.classpath"/>
</classpath>
</taskdef>
<webdoclet destdir="build/gen/web/WEB-INF" force="true"
mergedir="metadata/web" excludedtags="@version,@author" verbose="true">
<fileset dir="${model.src.dir}"/>
<strutsconfigxml validateXML="true" version="1.2"/>
<strutsvalidationxml version="1.1.3"/>
</webdoclet>
其中需要注意的是web.libs.classpath,一开始我没有添加这些库,结果无法正确生成配置文件。
在Appfuse中,大多数的Action是继承BaseAction的,只有UploadAction是直接继承Struts的Action;在没有添加库文件时,生成的struts-config.xml只包含一个UploadAction的映射。
添加完整的库文件后,才能生成正确的配置文件。
最后整理一下,使用AppGen生成的文件:
1、ApplicationContext-hibernate.xml中添加personDao的配置,ApplicationContext-service.xml中添加personManager的配置
2、PersonDaoHibernate.java,PersonManager.java,PersonManagerImpl.java,PersonAction.java,PersonForm.java,PersonAction.java
3、PersonForm.jsp,PersonList.jsp
4、struts-config.xml覆盖
5、menu-config-Person.xml合并到menu-config.xml中,menu-Person.jsp添加到common/menu.jsp中
6、sample-data-Person.xml,用于测试的数据
1、在AppGen中没有能够生成Struts的Form
在gen的target的中,添加生成Struts Form的子任务
<!-- generate struts forms -->
<xdoclet destdir="${build.dir}/${gen.dir}/web" excludedtags="@version,@author"
addedtags="@xdoclet-generated at ${TODAY}" force="${xdoclet.force}"
mergedir="metadata/web">
<fileset dir="F://Java//Eclipse//Space//appfuse//WEB-INF//src"/>
<configParam name="basePackageName" value="org.appfuse"/>
<!-- generate struts forms -->
<actionform templateFile="${template.dir}/generic/struts_form.xdt">
<packageSubstitution packages="model" substituteWith="webapp.form"/>
</actionform>
</xdoclet>
2、在AppGen中没有能够生成struts-config.xml
在gen的target中添加生成Struts-config.xml的子任务。
<taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask">
<classpath>
<path refid="xdoclet.classpath"/>
<path refid="web.libs.classpath"/>
</classpath>
</taskdef>
<webdoclet destdir="build/gen/web/WEB-INF" force="true"
mergedir="metadata/web" excludedtags="@version,@author" verbose="true">
<fileset dir="${model.src.dir}"/>
<strutsconfigxml validateXML="true" version="1.2"/>
<strutsvalidationxml version="1.1.3"/>
</webdoclet>
其中需要注意的是web.libs.classpath,一开始我没有添加这些库,结果无法正确生成配置文件。
在Appfuse中,大多数的Action是继承BaseAction的,只有UploadAction是直接继承Struts的Action;在没有添加库文件时,生成的struts-config.xml只包含一个UploadAction的映射。
添加完整的库文件后,才能生成正确的配置文件。
最后整理一下,使用AppGen生成的文件:
1、ApplicationContext-hibernate.xml中添加personDao的配置,ApplicationContext-service.xml中添加personManager的配置
2、PersonDaoHibernate.java,PersonManager.java,PersonManagerImpl.java,PersonAction.java,PersonForm.java,PersonAction.java
3、PersonForm.jsp,PersonList.jsp
4、struts-config.xml覆盖
5、menu-config-Person.xml合并到menu-config.xml中,menu-Person.jsp添加到common/menu.jsp中
6、sample-data-Person.xml,用于测试的数据