Hi, I use xdoclet to generate struts' validation.xml.
But it only generate the validator for one Form if I specify more than one Form name in a bean. It seems that the first Form will be included the validator, and the remaing Forms will not include any validation rules !! Therefore, it just generate the validation rules for LogonForm !!! Is it a bug or something I missed ??? The following is my User.java and the generated validation.xml. package com.echows.ejcourse.portal.model; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; /** * * @struts.form * name="LogonForm" * extends="org.apache.struts.validator.ValidatorForm" * * @struts.form * name="NewUserForm" * extends="org.apache.struts.validator.ValidatorForm" * * * @jdo.persistence-capable * identity-type="application" * objectid-class="com.echows.ejcourse.portal.pk.UserPK" * * @jdo.class-vendor-extension * vendor-name="${jdo.vendor}" * key="table-name" * value="User" * * * * */ public class User extends AbstractBean { /** * @jdo.field * persistence-modifier="persistent" * collection-type="collection" * element-type="Role" * * @jdo.field-vendor-extension * vendor-name="${jdo.vendor}" * key="clear-on-delete" * value="true" * * @jdo.collection-vendor-extension * vendor-name="${jdo.vendor}" * key="clear-on-delete" * value="true" * * @jdo.collection-vendor-extension * vendor-name="${jdo.vendor}" * key="table-name" * value="users_roles" * * * @jdo.collection-vendor-extension * vendor-name="${jdo.vendor}" * key="owner-column-name" * value="username" * * * @jdo.collection-vendor-extension * vendor-name="${jdo.vendor}" * key="element-column-name" * value="rolename" * */ private Collection roles = new ArrayList(); /** * @jdo.field * persistence-modifier="persistent" * * @jdo.field-vendor-extension * vendor-name="${jdo.vendor}" * key="column-name" * value="USERINFO_ID" * */ private UserInfo userInfo; /** * @jdo.field * persistence-modifier="persistent" * null-value="exception" * * @jdo.field-vendor-extension * vendor-name="${jdo.vendor}" * key="length" * value="max 30" * */ private String passwords; /** * @jdo.field * persistence-modifier="persistent" * null-value="exception" * primary-key="true" * * @jdo.field-vendor-extension * vendor-name="${jdo.vendor}" * key="length" * value="max 20" * */ private String username; /** * @jdo.field * persistence-modifier="persistent" * null-value="exception" * * */ private boolean status = false; // for NewUserForm /** * @jdo.field * persistence-modifier="none" * * */ private String roleName; /** * @jdo.field * persistence-modifier="none" * * */ private String action; /** * Constructor. */ public User() { ; } /** * Set UserInfo. * * @param information. */ public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } /** * Get UserInfo. * * @return information. */ public UserInfo getUserInfo() { return userInfo; } /** * Set password. * * @param password. * * * @struts.form-field * name="LogonForm" * * @struts.form-field * name="NewUserForm" * * @struts.validator * type="required" * msgkey="errors.required" * arg0resource="msg.password" */ public void setPasswords(String passwords) { this.passwords = passwords; } /** * Get password. * * @return password. */ public String getPasswords() { return passwords; } /** * Set status. * * @param status. * * * @struts.form-field * name="NewUserForm" */ public void setStatus(boolean status) { this.status = status; } /** * Get status. * * @return status. */ public boolean getStatus() { return status; } /** * Set username. * * @param username. * * * @struts.form-field * name="LogonForm" * * @struts.form-field * name="NewUserForm" * * * @struts.validator * type="required" * msgkey="errors.required" * arg0resource="msg.username" */ public void setUsername(String username) { this.username = username; } /** * Get username. * * @return username. */ public String getUsername() { return username; } /** * Set role collections. * * @param roles - a collection of Role. */ public void setRoles(Collection roles) { this.roles = roles; } /** * Get role collections. * * @return a collection of Role. */ public Collection getRoles() { return roles; } /** * Add a Role to the role set. * * @param role. */ public void addRole(Role role) { roles.add(role); } // NewUserForm /** * @struts.form-field * name="NewUserForm" * * */ /* * @struts.validator * type="required" * msgkey="errors.required" * arg0resource="msg.roleName" */ public void setRoleName(String roleName) { this.roleName = roleName; } public String getRoleName() { return roleName; } /** * @struts.form-field * name="NewUserForm" * * */ /* * @struts.validator * type="required" * msgkey="errors.required" * arg0resource="msg.action" */ public void setAction(String action) { this.action = action; } public String getAction() { return action; } } <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> <form-validation> <!-- Define global validation config in validation-global.xml --> <formset> <form name="UserInfoForm"> <field property="firstName" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.firstName"/> </field> <field property="lastName" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.lastName"/> </field> <field property="sex" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.sex"/> </field> <field property="idCardNo" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.idCardNo"/> </field> <field property="address1" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.address1"/> </field> <field property="country" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.country"/> </field> <field property="action" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="UserInfoForm.action"/> <arg0 name="required" key="msg.action" /> </field> </form> <form name="LogonForm"> <field property="passwords" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="LogonForm.passwords"/> <arg0 name="required" key="msg.password" /> </field> <field property="username" depends="required"> <msg name="required" key="errors.required"/> <arg0 key="LogonForm.username"/> <arg0 name="required" key="msg.username" /> </field> </form> </formset> </form-validation> ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user