action中execute()方法里执行了数据库查方法,将查询出来的值返回一个对象,怎么将该对象放置到attribute里面
1、
public execute(){
HttpServletRequest request = ServletActionContext.getRequest();
request.setAtrribute("user",user);//user是一个对象,它有username和password两个属性;
}
2、public class HMViewAction implements ServletRequestAware {
@get&set----其实你直接用user就行,不用request也没问题。你可别我这么写,自己写set和get方法吧!
private User user;private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public String execute() throws Exception {
request.setAtrribute("user",user)
return SUCCESS;
}
}
都是不行的,求助ing
1、
public execute(){
HttpServletRequest request = ServletActionContext.getRequest();
request.setAtrribute("user",user);//user是一个对象,它有username和password两个属性;
}
2、public class HMViewAction implements ServletRequestAware {
@get&set----其实你直接用user就行,不用request也没问题。你可别我这么写,自己写set和get方法吧!
private User user;private HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public String execute() throws Exception {
request.setAtrribute("user",user)
return SUCCESS;
}
}
都是不行的,求助ing
直接在action里定义:
private User user = null; 提供get/set方法。
然后在方法里直接使用user,比如这样 user = userDAO.getUser(id);
其他不用管,user就是放在request里的。在前台可以直接在request域里获取。
private User user = null; 提供get/set方法。
1:解*方式,那个字不会打
Struts2对servlet Api 中的HttpServletRequest,进行了封装,构造Map对象来替代HttpServletRequest
ActionContext ac = ActionContext.getContext();
Map request=(Map)ac,get("request");
request.put("user",user);
2:*合方式,
原深的就是,不过用ServletActionContext点出来,serlevt平常怎么操作就怎么操作:
ServletActionContext.getRequest().setAttribute("user", "user");
不过你做的类似用户登录的功能吧?应该放进会话里面
ServletActionContext.getRequest().getSession().setAttribute("user", u);
对于你来说用这种就可以了
3:Action类实现特定的接口 ,org.apache.struts2.interceptor.SerRequestAware 这个打字麻烦,省略,自己百度去