首页 > 代码库 > Struts学习笔记

Struts学习笔记

关于Struts的传值问题:
个人总结,我认为共有三种方式:
一、直接通过在action中设置相应的get和set方法
  列如:在action中:
  private String userName;
  private String userPwd;
  public String getUserName() {
  return userName;
  }
  public void setUserName(String userName) {
  this.userName = userName;
  }
  public String getUserPwd() {
  return userPwd;
  }
  public void setUserPwd(String userPwd) {
  this.userPwd = userPwd;
  }
    设置值:this.setUserName("Anndy")和this.setUserPwd("a111");
    获取值:${userName} ${userPwd} 或者用Struts标签库<s:property value="http://www.mamicode.com/userName"/>
  二、通过ActionContext来完成值传递
    设置值:ServletActionContext.getContext.put("Anndy","ani");
        ServletActionContext.getContext.put("Marry",1314);
    获取值:${Anndy}-->ani(得到的值) Struts标签库:<s:property value="http://www.mamicode.com/#Anndy"/>
    ${Anndy}-->ani(得到的值) Struts标签库:<s:property value="http://www.mamicode.com/#Anndy"/>
    ${Marry}-->1314(得到的值) Struts标签库:<s:property value="http://www.mamicode.com/#Marry"/>
    注意:访问AcctionContext中的值一定要用#,Struts2.3之后去字符串,可以不加#。
  三、通过Servlet的API完成值的传递
    设置值:ServletActionContext.getRequest.setAttribute("hello","struts");
    获取值:${hello}-->struts(得到的值) Struts标签库:<s:property value="http://www.mamicode.com/#request.hello"/>

Struts学习笔记