Struts2.0中数据的传递

Struts2.0中数据直接的传递:[align=center][/align]
1. action与action之间传递数据:
   在第一个action中execute()方法中使用:
 
 ActionContext.getContext().getSession().put("kk", getUser());
//getUser()是form表单提交的参数name=“user”在action中的封装
   来保存参数:
   通过:
<result name="ok" type="chain">list</result>
//说明强调不用redirect
   跳转到第二个action
   那么可以利用:
      
 
            String str=(String)ActionContext.getContext().getSession().get("kk");
            System.out.println(str);
       

来获取参数。-->   
2. action向页面直接的数据传递
(1)页面form中提交参数比如(user)交给action中的setUser()方法保存,
那么在界面中可以使用:
        
            ${requestScope.user}<br>
           <%=(String)request.getAttribute("user") %>
            <s:property value="user"/> 
          ${user}
         

      以上四种的方法来获取参数:
   (2)如果在action中的execute()
ActionContext.getContext().getSession().put("mm", "123");

          那么在页面里取值方式为:
            
 
              第一种 ${sessionScope.mm}
              第二种:<%=(String)request.getSession().getAttribute("mm")%>
              第三种:${mm}

<!-- 不能使用<s:property value="mm"/> 和<%=(String)session.getAttribute("mm")%> -->
  (3)如果在action中使用:
User nowUser = new User("aa", "aa", "123", "123");
然后再execute()方法中使用:
ActionContext.getContext().getSession().put("user", nowUser);
那么在jsp页面中可以使用:
第一种:${user.name}
    第二种:${sessionScope.user.name}
以上两种来获取数据。
  (4)如果在Action中使用:
    
      User nuser = new User("aa", "aa", "123", "123");
	   public User getNuser() {
		   return nuser;
	}
	public void setNuser(User nuser) {
		this.nuser = nuser;
	}
    

那么在页面里取值方式为:
  ${nuser.name}
  <s:property value="nuser.name"/>

以上两种来获取参数。

(5)页面向action中传数据:
     在jsp里面使用个:
<a href=”Login.action”?id=<s:property value=”nuser.id”>编辑</a>

     在action中我们可以使用get***()把数据获得。






你可能感兴趣的:(java,jsp)