`
hyhai7
  • 浏览: 34963 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

如何效验父类继承了ActionSupport类的输入数据

阅读更多
请问如何效验父类继承了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>




登陆不成功跳转到登陆页面,但是,如果没有输入数据,不会显示效验的信息,请问怎么修改,是在父类做效验还是在子类做效验?我两者都做效验都不行,依然不会显示错误提示,请告手帮忙解决这个问题!!!

问题已经解决,忘记在这里补充了,其实是在子类和父类中只要效验一方就可以了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics