请问如何效验父类继承了ActionSupport的类的输入数据,可能我问的也不是清晰,请告诉指点!
UserRootAction.java 父类
package com.dhsj.stu.action.root;
import com.dhsj.stu.entity.Admin;
import com.dhsj.stu.service.BaseDaoService;
import com.opensymphony.xwork2.ActionSupport;
public class UserRootAction extends ActionSupport { //父类,继承了ActionSupport
private static final long serialVersionUID = 1L;
protected BaseDaoService baseDaoService; //业务逻辑接口
public Admin admin; //实体类
public void setAdmin(Admin admin) {
this.admin = admin;
}
public Admin getAdmin() {
return admin;
}
public BaseDaoService getBaseDaoService() {
return baseDaoService;
}
public void setBaseDaoService(BaseDaoService baseDaoService) {
this.baseDaoService = baseDaoService;
}
}
UserAction.java 子类
package com.dhsj.stu.action;
import java.util.List;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import com.dhsj.stu.action.root.UserRootAction;
import com.dhsj.stu.entity.Admin;
import com.opensymphony.xwork2.ActionContext;
public class UserAction extends UserRootAction { //子类
private static final long serialVersionUID = 1L;
public String login() throws Exception{ //实现登陆的方法
DetachedCriteria criteria=DetachedCriteria.forClass(Admin.class);
this.baseDaoService.findAll(criteria);
criteria.add(Restrictions.eq("username", admin.getUsername())).add(Restrictions.eq("password", admin.getPassword()));
List<Object> userList=this.baseDaoService.findAll(criteria);
if(!userList.isEmpty()){
ActionContext.getContext().getSession().put("user", admin.getUsername());
return SUCCESS;
}
this.addActionError(getText("loginError"));
return INPUT;
}
}
struts.xml
<package name="user" extends="struts-default" namespace="/stu">
<action name="*User" class="userAction" method="{1}">
<result name="input">/index.jsp</result>
<result name="success">/WEB-INF/page/success.jsp</result>
<result name="error">/WEB-INF/page/error.jsp</result>
</action>
</package>
appliactionContext.xml
<bean name="userAction" class="com.dhsj.stu.action.UserAction" scope="prototype">
<property name="baseDaoService" ref="baseDaoService" />
</bean>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="admin.username">
<field-validator type="requiredstring">
<message>请输入用户名!</message>
</field-validator>
</field>
<field name="admin.password">
<field-validator type="requiredstring">
<message>请输入密码!</message>
</field-validator>
</field>
</validators>
登陆不成功跳转到登陆页面,但是,如果没有输入数据,不会显示效验的信息,请问怎么修改,是在父类做效验还是在子类做效验?我两者都做效验都不行,依然不会显示错误提示,请告手帮忙解决这个问题!!!
问题已经解决,忘记在这里补充了,其实是在子类和父类中只要效验一方就可以了。
分享到:
相关推荐
在基础的Struts2应用中,我们常常会继承`ActionSupport`类来实现输入校验,从而提高代码的复用性和可维护性。 `ActionSupport`是Struts2提供的一种基础Action实现,它包含了默认的行为,如错误处理、国际化支持和...
当我们需要实现一个特定的功能,比如这里的“简单登录”,我们可以创建一个新的Action类并继承`ActionSupport`,这样可以利用其提供的便利功能,同时添加自己的业务逻辑。 首先,让我们了解下`ActionSupport`类的...
1. **字段验证**:`ActionSupport`提供了内置的验证机制,通过在Action类中定义`validate()`方法,可以对用户输入的数据进行校验。如果验证失败,将会返回一个错误消息集合,这些消息可以在页面上展示给用户。 2. *...
5. **编写Action类**: 继承`ActionSupport`,并实现业务逻辑。使用`@Autowired`注解或其他方式注入需要的依赖。 6. **测试**: 使用JUnit或其他测试框架编写单元测试,验证Action的行为和依赖注入是否正常工作。 ...
有两种常见的创建Action的方式:实现Action接口和继承ActionSupport类。这两种方式各有特点,但ActionSupport类通常更受开发者青睐,因为它提供了许多内置的功能。 1. 实现Action接口(implements Action) 当一个...
action类中为何要继承ActionSupport这个接口类。
ActionSupport是Spring MVC框架中的一个基础类,它继承自Struts2的ActionSupport类。这个类提供了诸如错误和消息管理、状态维护等功能,使得在Spring MVC中可以方便地集成Struts2的一些特性。在整合过程中,我们可以...
1. **字段绑定**:`ActionSupport`类实现了`ModelDriven`接口,可以自动将请求参数绑定到Action类的私有属性上,方便数据的获取。 2. **类型转换**:通过`ConversionService`,`ActionSupport`可以自动进行类型转换...
总结,ActionSupport是Struts2中一个非常关键的类,它简化了Action的实现,提供了数据验证、本地化和错误处理等功能。通过继承ActionSupport,开发者可以快速构建符合Struts2规范的Action,而无需从头开始实现所有...
首先,ActionSupport类是Struts 2提供的一个基础类,开发者通常会自定义Action类时继承它。ActionSupport不仅实现了Action接口,还提供了验证、本地化等功能。Action接口包含了一些预定义的常量,如SUCCESS、NONE、...
ActionSupport源码
本篇文章将聚焦于“校验框架1”,具体是Struts2框架中的数据验证机制,包括如何通过继承ActionSupport类以及利用内置的校验框架来实现有效的用户输入验证。 【标签】:“doc文档” 【正文】: Struts2作为一款...
- `RegisterAction`:继承自`ActionSupport`,重写`validate()`方法或`validateRegister()`方法,添加验证逻辑。例如,检查用户名是否为空,密码是否一致等。 4. XML配置文件验证: 除了重写Java方法,Struts2还...
入门级,无声视频,这一集比上一集感觉拍得好多了,找到一些窍门。 对Struts2的标签导入,错误信息显示,ActionSupport类的addFieldError()方法,validate()方法,execute()方法的使用进行了介绍。
ActionSupport类是Struts2实现Action接口的一个重要基类,继承该类会导致代码污染,webWork不强制要求继承ActionSupport基类,但继承该类后,可以提供更多的额外功能,如国际化、输入校验等。 Action的默认处理类:...
例如,创建一个Action类的Bean,这个类可能继承自`org.apache.struts.action.ActionSupport`,以便利用其内置的错误处理和国际化支持: ```xml ``` 这里的`MyAction`类需要实现`execute`方法,这是Struts1中...
- 创建一个ValidatorForm或者继承ActionSupport的Action类,这些类包含了内置的校验逻辑。 - 使用`@Field`或`@Property`注解定义字段级别的验证规则,如`@NotEmpty`、`@Min`、`@Max`等。 - 或者在struts.xml文件...
- **步骤二:继承ActionSupport**:为了利用Struts2的内置校验功能,自定义的Action类需要继承`ActionSupport`类,这个类提供了默认的校验行为。 - **步骤三:覆盖Validate方法**:在Action类中覆盖`validate`方法...
首先,创建一个新的Java类,让它继承自`org.apache.struts2.interceptor.StrutsPrepareAndExecuteInterceptor`或者`com.opensymphony.xwork2.interceptor.AbstractInterceptor`,并实现`intercept()`方法。...