• Struts2.0与客户端数据的交互


    (一)客户端获取Action中数据-----------------------

    在struts2中,设进session的话则应该变成这样了,因为session是一个map类型: 

    Java代码  收藏代码
    1. public String findAllUsers() throws Exception {  
    2.       
    3.     List<User> userList = userService.findAllUsers();  
    4.     session.put("userList", userList);  
    5.     //request.setAttribute("userList", userList);  
    6.       
    7.     return SUCCESS;  
    8. }  


    据说,如果直接到jsp页面的话,一般推荐用request而不用session,多人单机同时操作的话保险一点,虽然一个浏览器同一时间只有一个session。 

    在jsp页面取值的话: 

    Html代码  收藏代码
      1.     <table class="table_report">  
      2.     <tr>   
      3.         <th>用户ID</th>  
      4.         <th>用户名称</th>  
      5.         <th>用户性别</th>  
      6.         <th>用户年龄</th>  
      7.         <th>用户地址</th>  
      8.         <th>用户电话</th>  
      9.         <th>用户邮箱</th>  
      10.     </tr>  
      11.     <!-- struts2最正规的取值方式 -->  
      12. <%--  <s:iterator id="user" value="%{#session.userList}">--%>  
      13.   
      14.    <s:iterator id="user" value="#session.userList">  
      15. <%--   <s:iterator id="user" value="#request.userList">--%>  
      16.     <tr>  
      17.         <td>${user.id}</td>  
      18.         <td>${user.name}</td>  
      19.         <td>${user.sex}</td>  
      20.         <td>${user.age}</td>  
      21.         <td>${user.address}</td>  
      22.         <td>${user.phone}</td>  
      23.         <td>${user.email}</td>  
      24.     </tr>  
      25.     </s:iterator>  
      26.   </table>  
      27. <%-- 用完要清空 --%>  
      28. <%request.removeAttribute("userList");%>  
      29. <%--<%session.removeAttribute("userList");%>--%>  

    (二)Action中获取客户端数据-----------------------

    1.通过属性驱动式  

    1. <form action="sys/login.action" method="post">    
    2.     <input type="text" name="username">    
    3.     <input type="submit" value="submit">    
    4. </form>  


    Action:直接通过get、set方法获取。

    1. ublic class sysAction extends ActionSupport{    
    2.     private String username;    
    3.    
    4.     public String login() throws Exception {    
    5.         System.out.println(username);    
    6.         return SUCCESS;    
    7.     }    
    8.    
    9.     public String getUsername() {    
    10.         return username;    
    11.     }    
    12.     public void setUsername(String username) {    
    13.         this.username= username;    
    14.     }    
    15. }     

    2.模型驱动方式,必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便  

    1. <form action="sys/login.action" method="post">    
    2.     <input type="text" name="username">    
    3.     <input type="submit" value="submit">    
    4. </form>          

    Action:必须实现getModel() 方法

     
    1. public class sysAction extends ActionSupport implements ModelDriven<User>{    
    2.     private User user;    
    3.    
    4.     public String login() throws Exception {    
    5.         System.out.println(getModel().getUsername());    
    6.         return SUCCESS;    
    7.     }    
    8.    
    9.     public User getModel() {    
    10.         if (null == user) {    
    11.             return user = new User();    
    12.         }    
    13.         return user;    
    14.     }    
    15. }     

    3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。

    1. <form action="sys/login.action" method="post">    
    2.     <input type="text" name="user.username">    
    3.     <input type="text" name="teacher.level">    
    4.     <input type="submit" value="submit">    
    5. </form>    

    Action: 必须提供set方法

      1. public class sysAction extends ActionSupport{    
      2.     private User user;    
      3.     private Teacher teacher;    
      4.    
      5.     public String login() throws Exception {    
      6.         System.out.println(user.getUsername());    
      7.         System.out.println(teacher.getLevel());    
      8.         return SUCCESS;    
      9.     }    
      10.    
      11.     public void setUser(User user) {    
      12.         this.user = user;    
      13.     }    
      14.     public void setTeacher(Teacher teacher) {    
      15.         this.teacher = teacher;    
      16.     }    
      17. }    
  • 相关阅读:
    Hive分组取Top N
    Hive 锁 lock
    Hive创建指向HBase表的表
    Hive Serde
    自定义UDF
    Hive使用SequenceFile存储数据
    alter table
    describe命令
    移动端,字体实际大小比设置的大,原因总结
    移动端适配基础总结
  • 原文地址:https://www.cnblogs.com/33blog/p/2654715.html
Copyright © 2020-2023  润新知