首先是jsp向action传值:
首先你的jsp前端代码的name属相在action中必须要有set和get方法,要是属性是引用值得话,
在引用类的代码中也要有相应的set和get方法。如:
jsp:<s:textfield name="user.name" label="您的账号"></s:textfield>
action:
private Iuser user;
private IuserPort u = new IuserDAO();
private Map session;
public String execute() {
if (u.find_by_name_pass(user)) {//验证用户
setSession((Map) ActionContext.getContext().getSession());//session作用域
getSession().put("user", user);
return SUCCESS;
}
this.addActionMessage("请检查您的用户名和密码");
return INPUT;
}
/**
* @return the user
*/
public Iuser getUser() {
return user;
}
/**
* @param user the user to set
*/
public void setUser(Iuser user) {
this.user = user;
}
/**
* @return the u
*/
public IuserPort getU() {
return u;
}
/**
* @param u the u to set
*/
public void setU(IuserPort u) {
this.u = u;
}
/**
* @return the session
*/
public Map getSession() {
return session;
}
/**
* @param session the session to set
*/
public void setSession(Map session) {
this.session = session;
}
}
action向jsp传值:
action:
private Iuser user;
private IuserPort u = new IuserDAO();
private Map session;
public String execute() {
if (u.find_by_name_pass(user)) {//验证用户
setSession((Map) ActionContext.getContext().getSession());//session作用域
getSession().put("user", user);
return SUCCESS;
}
this.addActionMessage("请检查您的用户名和密码");
return INPUT;
}
/**
* @return the user
*/
public Iuser getUser() {
return user;
}
/**
* @param user the user to set
*/
public void setUser(Iuser user) {
this.user = user;
}
/**
* @return the u
*/
public IuserPort getU() {
return u;
}
/**
* @param u the u to set
*/
public void setU(IuserPort u) {
this.u = u;
}
/**
* @return the session
*/
public Map getSession() {
return session;
}
/**
* @param session the session to set
*/
public void setSession(Map session) {
this.session = session;
}
}
jsp:
姓名:<s:textfield value="%{#session.user.name}"></s:textfield>