67,549
社区成员




package com.myclass.test.action;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import org.springframework.stereotype.Controller;
import com.myclass.test.dto.UserDTO;
import com.myclass.test.service.UserService;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@Controller("UserAction")
public class UserAction extends ActionSupport {
@Resource
private UserService userService;
private String userName;
@Override
public String execute() throws Exception {
//System.out.println("---"+userName);
userService.addUser(new UserDTO(userName));
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
System.out.println("@@"+request.getParameter("userName"));
ActionContext.getContext().put("message", userName);
return SUCCESS;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
ActionContext.getContext().get("userName")
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
System.out.println("@@"+request.getParameter("userName"));
ActionContext ac=ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);
System.out.println("@@"+request.getAttribute("userName"));
ActionContext.getContext().get("userName")
ActionContext ac = ActionContext.getContext();
HttpServletRequest request =
(HttpServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);
String para = (String)request.getAttribute("para");
logger.info("attribute[para]=" + para);
String par2 = (String)request.getParameter("para");
logger.info("parameter[para]=" + par2);
String par3 = (String)ac.get("para");
logger.info("context.get[para]=" + par3);
ac.put("mes", "putValue");
String mes = (String)request.getAttribute("mes");
logger.info("attribute[mes]=" + mes);
输出结果如下:
attribute[para]=null //requst属性中没有这个值。
parameter[para]=test //请求参数中的值
context.get[para]=null //同1
attribute[mes]=putValue //自行设置的属性值,可以获取
结果和最开始介绍的get,set方法保持一致,就是get,set方法其实是操作的HttpServletRequest中的属性。
lz的例子中通过getAttribute能获取到值,是不是在别的地方调用setAttribute方法了?