SSH2 中使用validation.xml无效的问题

大西门 2011-01-19 10:36:33
我在SSH2中对注册方法配置Action-method-validation.xml的框架验证,但是发现验证并不执行,代码如下:
UserAction.java:

public class UserAction extends ActionSupport{
private UserService userService;
private int userId,identity;
private String userName,passWord,email;
private User userInfo;
List<User> users = new ArrayList<User>();
public UserService getUserService() {
return userService;
}
public void setUserService(UserService userService) {
this.userService = userService;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getIdentity() {
return identity;
}
public void setIdentity(int identity) {
this.identity = identity;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void setUserInfo(User userInfo) {
this.userInfo = userInfo;
}
public User getUserInfo() {
return userInfo;
}
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public String saveUser(){
userService.saveUser(userName, passWord, email, identity);
return SUCCESS;
}
public String updateUser(){
userService.updateUser(userId, userName, passWord, email, identity);
return SUCCESS;
}
public String deleteUser(){
userService.deleteUser(userId);
return SUCCESS;
}
public String findAllUser(){
users = userService.findAllUser();
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
session.setAttribute("count", userService.findAllUserCount());
return SUCCESS;
}
public String findByUserId(){
userInfo = userService.findByProperty("userId", userId).get(0);
return SUCCESS;
}

}

struts.xml

<struts>
<package name="default" extends="struts-default">
<!-- User -->
<action name="saveUser" class="saveUserBean" method="saveUser">
<result>/regist.jsp</result>
<result name="input">/regist.jsp</result>
</action>
<action name="updateUser" class="updateUserBean" method="updateUser">
<result type="redirect">/showMore.action</result>
</action>
<action name="deleteUser" class="deleteUserBean" method="deleteUser">
<result type="redirect">/findAllUser.action</result>
</action>
<action name="findAllUser" class="findAllUserBean" method="findAllUser">
<result>/userList.jsp</result>
</action>
<action name="showMore" class="showMoreBean" method="findByUserId">
<result>/showMore.jsp</result>
</action>

applicationContext.xml

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/tss"></property>
<property name="username" value="root"></property>
<property name="password" value="123321"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/tribesoft/entity/User.hbm.xml</value>
<value>com/tribesoft/entity/Group.hbm.xml</value></list>
</property>
</bean>
<!-- User -->
<bean id="UserDAO" class="com.tribesoft.dao.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="UserService" class="com.tribesoft.service.UserService">
<property name="userDao">
<ref local="UserDAO" />
</property>
</bean>
<bean id="saveUserBean" class="com.tribesoft.action.UserAction" scope="prototype">
<property name="userService">
<ref local="UserService"></ref>
</property>
</bean>
<bean id="updateUserBean" class="com.tribesoft.action.UserAction" scope="prototype">
<property name="userService">
<ref local="UserService"></ref>
</property>
</bean>
<bean id="deleteUserBean" class="com.tribesoft.action.UserAction" scope="prototype">
<property name="userService">
<ref local="UserService"></ref>
</property>
</bean>
<bean id="findAllUserBean" class="com.tribesoft.action.UserAction" scope="prototype">
<property name="userService">
<ref local="UserService"></ref>
</property>
</bean>
<bean id="showMoreBean" class="com.tribesoft.action.UserAction" scope="prototype">
<property name="userService">
<ref local="UserService"></ref>
</property>
</bean>

UserAction-saveUser-validation.xml

<validators>
<field name="userName">
<field-validator type="requiredstring">
<message>用户名不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLenght">5</param>
<param name="maxLenght">10</param>
<message>用户名长度为${minLenght}到${maxLenght}之间</message>
</field-validator>
</field>
<field name="passWord">
<field-validator type="requiredstring">
<message>密码不能为空</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLenght">6</param>
<param name="maxLenght">18</param>
<message>用户名长度为${minLenght}到${maxLenght}之间</message>
</field-validator>
</field>
<field name="email">
<field-validator type="email">
<message>请输入正确的邮件格式</message>
</field-validator>
</field>
<field name="identity">
<field-validator type="int">
<param name="maxLength">10</param>
<message>证件号码不超过${maxLength}</message>
</field-validator>
</field>
</validators>


请高手指点
...全文
170 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
热带鱼2020 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 beguile 的回复:]
关注。
我写了一个 UserAction-findUserById-validation.xml 也没有被执行,addUser倒是实现了验证。我是暂时用ajax 验证代替的。
[/Quote]
我那个没实现的验证刚才解决了。因为我没设定出现错误后的转发页面。
-------------
不过我看你的配置文件设定了出现错误后的转发页面了
<action name="saveUser" class="saveUserBean" method="saveUser">
<result>/regist.jsp</result>
<result name="input">/regist.jsp</result>
</action>
  • 打赏
  • 举报
回复
检查配置文件的信息,路径
还有报什么错。
大西门 2011-01-20
  • 打赏
  • 举报
回复
为什么没有回答的啊?这个问题折磨我好久了,没有高人吗?
yanshencun1314 2011-01-19
  • 打赏
  • 举报
回复
之前也遇到过这样的问题 但是没有怎么解决就好了
jeasonchen 2011-01-19
  • 打赏
  • 举报
回复
好长的帖啊
热带鱼2020 2011-01-19
  • 打赏
  • 举报
回复
关注。
我写了一个 UserAction-findUserById-validation.xml 也没有被执行,addUser倒是实现了验证。我是暂时用ajax 验证代替的。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧