zoukankan      html  css  js  c++  java
  • struts2学习笔记(4)OGNL表达式

    1.一个Action里有一个类对象(model)类型的成员变量时,要在url里传递参数时才会new一个这个类的对象;

    2.如果这模型类中有一个或多个有参数的构造函数,则需要同时显示地给出默认构造函数(即没有带参数的构造函数);

    3.获取值栈中的对象属性或方法,可以用XXX.xx来得到。

    4.访问静态属性或静态方法:

      <s:property value="@完整的类名@静态属性名"/>

      <s:property value="@完整的类名@静态方法名"/>

      e.g. 访问User类中的静态属性Count:

         <s:property value="@com.bpf.struts2.ogn.User@Count"/>

    注:如需要在struts.xml中配置:

       <constant name="struts.ognl.allowStaticMethodAccess" value="true" />


    5.访问普通类的构造方法:

      <s:property value="new com.bpf.struts2.ognl.User(9)"/>

    Action类:

    public class UserAction extends ActionSupport
    {
        private String password;
        private String username;
        private User user; //类对象类型的成员(Model)
    
        public String exectute()
        {
            return SUCCESS;
        }
        public String getPassword()
        {
            return password;
        }
        public User getUser()
        {
            return user;
        }
        public String getUsername()
        {
            return username;
        }
        public void setPassword(String password)
        {
            this.password = password;
        }
        public void setUser(User user)
        {
            this.user = user;
        }
        public void setUsername(String username)
        {
            this.username = username;
        }
    }

    Model类:User

    public class User
    {
        int age;
     
        public User()//不可缺少
        {
            
        }
        public User(int age)
        {
            this.age = age;
        }
        public int getAge()
        {
            return age;
        }
        public void setAge(int age)
        {
            this.age = age;
        }
        
        public String toString()
        {
            
            return "user" + age;
        }
    }

    JSP:

    <body>
      <ol>
        <li> 访问值栈中的action的普通属性:username=<s:property value="username" /> </li>
        <li> 访问值栈中对象的普通属性:<s:property value="user.age"/> </li>
      </ol>
    </body>
    

      

  • 相关阅读:
    课堂练习-电梯调度
    团队开发项目———来用————用户调研报告
    购书思想课堂作业4.14
    针对《来用》的NABC分析
    《梦断代码》读书笔记3
    《梦断代码》读书笔记2
    《大道至简》阅读笔记2
    《大道至简》阅读笔记1
    课堂练习之找出所有的“1”
    典型用户与场景分析
  • 原文地址:https://www.cnblogs.com/paulbai/p/2623953.html
Copyright © 2011-2022 走看看