Struts传错误 信息

package com.hxzy.struts;


import java.util.Map;


import javax.servlet.http.HttpServletRequest;


import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware;


import com.hxzy.struts.model.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;


public class UserLoginVerifyAction extends ActionSupport implements ModelDriven<User>,RequestAware{
private Logger log = Logger.getLogger(UserLoginVerifyAction.class);
private User user = new User();
// private HttpServletRequest request = ServletActionContext.getRequest();
private Map<String, Object> requestMap;

/**
* 知识点:操作ServletApi

* 在Struts2的Action类中如何操作 request对象(HttpServletRequest),session对象(HttpSession),aplication对象(ServletContext),
* 也就是操作ServletApi.

* 第一种方式:  ServletActionContext

*  HttpServletRequest request = ServletActionContext.getRequest();
*  HttpSession session = request.getSession();                  
*  ServletContext appliction = request.getServletContext();                         

* 第二种方式:  实现 RequestAware,SessionAware,ApplicationAware 接口
*  
*  private Map<String, Object> requestMap;
private Map<String, Object> sessionMap;
private Map<String, Object> applictionMap;
   @Override
public void setRequest(Map<String, Object> request) {
requestMap = request;
}
@Override
public void setSession(Map<String, Object> session) {
sessionMap = session;
}
@Override
public void setApplication(Map<String, Object> appliction) {
applictionMap = appliction;

}

第三种方式 ActionContext  ActionContext  actionContext = ActionContext.getContext();

   static ActionContext getContext():静态方法,获取系统的ActionContext实例;
   
   void put(String key,Object value)  //设置HttpServletRequest中key的值为value;
public Object get(Object key)      //取得HttpServletRequest中key的值;

   void setSession(Map session):直接传入一个Map实例,将该Map实例里的key-value对转换为session的属性名和属性值;
   public Map getSession():获取封装了HttpSession的Map对象;


void setApplication(Map application):设置ServletContext实例;
public Map getApplication():获取封装了ServletContext的Map对象;

Map getParameters():类似于HttpServletRequest中的getParametersMap方法;
@Override
public String execute() throws Exception {
log.debug("struts学习");
return SUCCESS;
}
/*
* 获取表单数据
* 1、直接在Action类中定义属性和写get/set方法
* 2、写一个model类,用get/set方法获取对象,不用实例化对象,struts会自动进行实例化,在提交的表单中需要用对象.属性 如:user.name
* 3、实现ModelDriven接口,需要进行实例化
*/
public String add(){
log.debug("add>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
// if(user.getName().equals("admin")&&user.getPassword().equals("123")){
// log.debug("用戶名 :"+user.getName());
// log.debug("密碼 :"+user.getPassword());
// return "ADD";
// }else{
// addActionError("用户名或密码错误!");
// return INPUT;
// }
ActionContext actionContext = ActionContext.getContext();

if(!"admin".equals(user.getName())){
// request.setAttribute("name", "用户名错误!");
// addFieldError("name", "用户名错误!");
// requestMap.put("name", "用户名错误!!");
actionContext.put("name", "用户名错误!!");
return INPUT;
}else if(!"123".equals(user.getPassword())){
// request.setAttribute("password", "密码错误!");
// addFieldError("password", "密码错误!");
// requestMap.put("password", "密码错误!!");
actionContext.put("password", "密码错误!!");
return INPUT;
}
return "ADD";

}

// @Override
// public void validate() {
// if(!"admin".equals(user.getName())){
request.setAttribute("name", "用户名错误!");
// addFieldError("name", "用户名错误!");
// }else if(!"123".equals(user.getPassword())){
request.setAttribute("password", "密码错误!");
// addFieldError("password", "密码错误!");
addFieldError("password",getText("password.required"));
// }
// }



@Override
public User getModel() {
return user;
}
@Override
public void setRequest(Map<String, Object> request) {
requestMap = request;
}




}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值