Struts是一个Web开发框架,是用Struts避免了简单的JSP + Servlet开发过程,维护过程中的一系列问题,但是struts配置文件的编辑始终是一个问题。下面我们使用Xdoclet来自动生成struts配置文件。Xdoclet是一个使用Java代码中的注释来生成接口文件,或者配置文件的开源工具。
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f><lock v:ext="edit" aspectratio="t"></lock><shape id="_x0000_i1025" type="#_x0000_t75" o:borderrightcolor="this" o:borderbottomcolor="this" o:borderleftcolor="this" o:bordertopcolor="this"></shape><imagedata src="file:///C:/DOCUME~1/mazhao/LOCALS~1/Temp/msoclip1/01/clip_image001.jpg" o:title="struts-dispatch-dia"></imagedata><bordertop type="single" width="4"></bordertop><borderleft type="single" width="4"></borderleft><borderbottom type="single" width="4"></borderbottom><borderright type="single" width="4"></borderright>
所有得Struts的各组件关系如上所示,其中有两个主要类,DispatchAction和DispatchValueBean。DispatchAction从上个页面获得输入,根据输入定位到不同的页面(0定位到dispatch_0.jsp,1定位dispatch_1.jsp)。
可以看看下列代码(只涉及到Xdoclet相关的部分):
//DispatchValueBean.java
/**
*
* @author mazhao
* @struts.form
* name="DispatchValueBean"
*/
public class DispatchValueBean extends org.apache.struts.action.ActionForm {
private String dispatchValue = "0";
public DispatchValueBean () {
}
public String getDispatchValue()
{
return dispatchValue;
}
public void setDispatchValue(String dispatchValue)
{
this.dispatchValue = dispatchValue;
}
}
上述的蓝色代码表示自己是一个FormBean,且FormBean的名字是DispatchValueBean。
//DispatchAction.java
/**
*
* @author mazhao
* @struts.action
* name="DispatchValueBean"
* path="/DispatchAction.do"
* input="/index.jsp"
*
* @struts.action-forward
* name="dispatch_0"
* path="/dispatch_0.jsp"
* redirect="false"
*
* @struts.action-forward
* name="dispatch_1"
* path="/dispatch_1.jsp"
* redirect="false"
*
*/
public class DispatchAction extends org.apache.struts.action.Action {
private String dispatchValue = "0";
public DispatchAction() {
}
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DispatchValueBean dispatchBean = (DispatchValueBean)form;
String value = dispatchBean.getDispatchValue();
if("0".equals(value))
{
return mapping.findForward("dispatch_0");
}
else
{
return mapping.findForward("dispatch_1");
}
}
public String getDispatchValue()
{
return dispatchValue;
}
public void setDispatchValue(String dispatchValue)
{
this.dispatchValue = dispatchValue;
}
}
上述的蓝色代码说明该Action所使用的FormBean,输入页面,path和不同的ActionForward。
根据如上的代码可以使用如下的build文件来自动生成struts-config.xml:
<!—- 将xdoclet的jar文件包含到编译路径中 -->
<path id="compile.classpath">
<fileset dir="${xdoclet.dir}">
<include name="*.jar"/>
</fileset>
</path>
<!—-定义子定义的任务标签 -->
<taskdef
name="webdoclet"
classname="xdoclet.modules.web.WebDocletTask"
classpathref="compile.classpath"
/>
<!—使用自定义的任务标签生成struts-config.xml文件-->
<target
name="webdoclet"
depends="prepare"
description="Generate deployment descriptors (run actionform to generate forms first)"> <echo>+---------------------------------------------------+</echo>
<echo>| |</echo>
<echo>| R U N N I N G W E B D O C L E T |</echo>
<echo>| |</echo>
<echo>+---------------------------------------------------+</echo>
<webdoclet
destdir="ant"
mergedir="ant/merge"
verbose="false"
>
<fileset dir="JavaSource">
<include name="**/*Action.java"/>
<include name="**/*Bean.java"/>
</fileset>
<strutsconfigxml
destdir="ant"
/>
</webdoclet>
</target>
建议在详细设计阶段使用这种方式生成代码框架和struts-config.xml配置文件。
分享到:
相关推荐
Struts、Hibernate、Spring、XDoclet、Ant和Log4j是Java开发中常见的六个重要组件,它们在企业级应用开发中发挥着关键作用。这些技术的整合为开发者提供了高效、灵活和可维护的解决方案。 **Struts** 是一个基于MVC...
总的来说,XDoclet是Java开发中的一个重要辅助工具,它通过注释驱动的方式简化了框架配置的创建,使得开发人员能够更专注于业务逻辑,而不是繁琐的手动配置。这两个版本的压缩包提供了不同版本的XDoclet,适用于不同...
XDoclet是一款强大的Java代码生成工具,它通过解析Java源代码中的特定注解(annotations),自动生成各种元数据,如EJB组件接口、...通过阅读这些文档,你可以深入了解如何利用XDoclet 1.2来简化Java应用的开发工作。
总结,XDoclet API是一个强大的工具,能够简化Java开发过程中的元数据生成任务,提高开发效率,减少错误。通过理解并熟练运用其提供的标签和功能,开发者可以更加专注于业务逻辑,而将繁琐的配置工作交给XDoclet自动...
总结,xdoclet是Java开发中的一个强大工具,通过解析Javadoc注释生成代码和配置文件,简化了开发过程,提升了开发效率。虽然现代Java已有其他替代方案,但对老项目或有特定需求的项目,xdoclet仍然具有不可忽视的...
"xdoclet-plugins-1.0.3"是一个专门针对OA(Office Automation)安全模块的插件版本,它极大地简化了开发流程,提高了开发效率。 首先,我们来深入了解一下XDoclet。XDoclet是基于Javadoc注释的元数据框架,它能够...
5. **Struts插件**:对于基于Struts的MVC应用,XDoclet可以自动生成ActionForm、Action、Forward等配置。 6. **Spring插件**:虽然Spring提倡的是“零配置”,但在早期版本,XDoclet也可以生成Spring的bean配置文件...
1. **EJB支持**:xdoclet最初是为了简化Enterprise JavaBeans(EJB)的开发而设计的。在1.2.3版本中,它可能提供了更完善的EJB 2.x支持,包括自动生成ejb-jar.xml、home接口、remote接口、entity beans、session ...
尽管现在Spring提供了更强大的基于注解的配置,但在早期,XDoclet的插件可以帮助简化XML配置。 7. 其他插件:此外,XDoclet还支持其他框架,如JTA、JPA等,提供了丰富的插件选择。 然而,随着时间的推移,Java社区...
AppFuse是一个开源项目,它提供了一个快速开发Java Web应用的基础框架,整合了许多流行的开源组件,如Spring、Hibernate、Struts等,旨在简化开发过程并提高开发效率。它采用模块化设计,允许开发者根据需求选择合适...
网站开发指南 清华大学出版社 1章 JSP技术简介 2章 JSP语法 3章 JSP内置对象 4章 Servlet技术介绍 5章 JavaBean与JSP技术 6章 JSP文件操作 ...24章 使用XDoclet简化JSP 25章 使用Ant管理JSP Web应用
**Spring** 是一个开源的轻量级Java EE应用开发框架,它的目标是简化企业级应用的开发过程。Spring框架提供了一个全面的编程模型,支持多种服务层组件。 #### Spring框架的主要特性包括: - **依赖注入 (DI)**:...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责应用...整合SSH框架能提高开发效率,同时通过Spring的管理,可以更好地实现解耦和控制反转,而Hibernate则简化了数据库操作,提高了开发的便捷性。
它遵循 Model-View-Controller (MVC) 架构模式,简化了 Web 应用程序的开发和维护过程。 #### 准备工作 - **作者**:Sascha Wolski - **网站**:[http://www.laliluna.de/tutorial.html]...
这三种技术分别解决了Web应用程序中的不同层面问题:Spring负责业务逻辑层的管理与控制反转(IoC),Struts处理MVC架构中的控制器部分,而Hibernate则作为对象关系映射(ORM)工具,用于简化数据库操作。 #### 描述...
Spring大大简化了使用接口开发的复杂性,并且加快和简化了应用系统的开发。使用简单JavaBean就可以得到EJB的强大功能。 本书介绍了Spring背后的原理,引领你迅速进入对框架的体验之中。结合简短代码片断和贯穿...
利用注解和XDoclet #### Java EE 5与注解 自Java EE 5开始,标准库引入了对注解的支持,这极大地简化了配置管理,减少了大量的XML配置文件编写。通过在类或方法上使用注解,可以声明性地指定组件的行为,如事务...
该工具包由Matt Raible创建,他在网络开发领域拥有丰富的经验,并且是多个开源项目的贡献者,包括Roller Weblogger、XDoclet、StrutsMenu、DisplayTag等。此外,他还参与了J2EE 5.0和JSF 1.2标准的制定,并撰写了...
### J2EE应用开发基础知识点概述 #### Java编程语言 ...通过上述内容的学习,读者可以对J2EE应用开发的基础知识有一个全面的了解,并掌握使用Java、JSP、Struts和Hibernate等技术进行企业级应用开发的基本技能。