写了一个pojo,使用@spring.validator声明validation的属性,然后运行ant clean webdoclet,应该在build/appfuse/WEB-INF/下面产生validation.xml,但运行时报如下的错误:
[webdoclet] Caused by: xdoclet.XDocletException: Running XDoclet failed.: xdocle
t.template.TemplateException: Invoking method in class xdoclet.modules.spring.Sp
ringValidatorTagsHandler failed: ifFormHasFields, line=52 of template file: jar:
file:/D:/javaworld/appfuse/lib/xdoclet-1.3-SNAPSHOT/xdoclet-spring-module-1.3-SN
APSHOT.jar!/xdoclet/modules/spring/resources/validation_xml.xdt, exception: null
[webdoclet] at xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:751
)
[webdoclet] at xdoclet.modules.spring.SpringValidatorTagsHandler.forAllForms
(SpringValidatorTagsHandler.java:78)
在网上查询类似的错误产生原因,如下:
更大可能是因为你的业务实体POJO类中,存在循环调用
如Aclass中包含Bclass,Bclass中包含Cclass,Cclass中包含Aclass,存在一个闭环,其中一个Class无一个是
@struts.validator type="required" (这个是在pojo中些的,Form中写法不一样)
特别是在一对一双向关系设计中,容易造成这种情况。
给闭环调用类中每个pojo类至少加上一个@struts.validator type="required" 就OK了
业务允许的话,把它设计为单向的或则采用@struts.form-field将关系filed不包含到ActionForm中
我的类确实有循环调用,而且是自己引用自己(类似于树的结点),写了上面的validator也没有
起作用,最后只好用数值引用来代替对象引用~~
分享到:
相关推荐
【标题】"xdoclet_appfuse打包"是一个关于AppFuse和XDoclet的资源集合,主要包含了一系列相关的文档和教程。 【描述】提及了“appfuse,xdoclet上网收集的一些资料打包”,这表明这个压缩包可能包含了从互联网上搜集...
在Appfuse中,我们首先创建一个POJO类,然后使用XDoclet工具来生成对应的数据库表定义。XDoclet是一种基于Javadoc的元数据处理器,它可以读取类上的注解,并自动生成相关的代码,如Hibernate的映射文件或Spring的...
由于描述中提到“没有jar包”,这可能意味着下载的实例源码不包含运行所需的所有依赖库,因此需要开发者自行解决这个问题。 首先,为了运行这个AppFuse 2.0实例,你需要确保你的开发环境中安装了Java Development ...
这将启动一个内嵌的 Tomcat 服务器,并运行 AppFuse 示例应用。你可以通过浏览器访问 `http://localhost:8080/my-app` 来查看运行结果。 **5. 配置与定制** AppFuse 提供了丰富的配置选项,包括数据库连接、安全...
### AppFuse:加速J2EE项目开发 #### 一、简介与背景 AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的...
AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...
**Appfuse** 是由 Matt Raible 开发的一款面向 J2EE 的框架,其主要目的是为开发者提供一套集成多个流行框架(如 Spring、Hibernate、iBatis、Struts、Xdoclet、JUnit 等)的开发模板。通过这一框架,开发者可以更...
配置环境变量,如JAVA_HOME、M2(指向Maven的bin目录)和M2_HOME,然后在PATH中添加Maven和Tomcat的bin目录,以便于执行命令和运行应用。 生成AppFuse项目时,可以通过执行特定的Maven命令来创建不同类型的项目,...
### Appfuse 学习笔记 #### 一、Appfuse 简介 Appfuse 是一个开源框架,旨在帮助开发者高效地构建企业级应用。通过提供一套完善的架构模板、最佳实践和技术栈组合,使得开发者能够专注于业务逻辑的实现,而不是...
【MAVEN 搭建APPFUSE】是一个关于使用Maven构建基于AppFuse的应用程序的教程。AppFuse是一个开源项目,旨在简化Web应用程序的开发,它提供了一个基础框架,可以帮助开发者快速启动新项目,整合了Spring、Hibernate、...
它集成了多种流行的技术,包括 Spring、Hibernate、iBatis、Struts、Xdoclet 和 JUnit,同时也支持 Taperstry 和 JSF 框架,帮助开发者构建基于Java的Web应用程序。AppFuse 的目标是简化项目的初始化过程,通过预...
- **目的**:JDK5 是 AppFuse 运行的基本环境之一,确保正确安装 JDK5 并且设置 `JAVA_HOME` 环境变量指向 JDK 而非 JRE 目录。 - **下载链接**:http://java.sun.com/javase/downloads/index_jdk5.jsp ##### 2. ...
1. **基础程序框架**:AppFuse提供了基于Ant、XDoclet、Spring、Hibernate或iBATIS的项目模板,同时也支持Junit、Cactus、StrutsTestCase、WebTest、Struts Menu、Display Tag Library、OSCach和JSTL以及Struts或...
"CertsManSys"可能是一个实际的AppFuse应用示例,包含了完整的源代码,你可以运行这个例子来进一步了解AppFuse的实际应用。 总之,AppFuse是一个强大的工具,可以帮助Java开发者高效地创建MVC Web应用。它将复杂的...
06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬
AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础架构,开发者可以在此基础上快速构建安全、可扩展的应用程序。AppFuse 2.1 版本是该项目的一个较早版本,但仍然包含了现代Web开发的核心...