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>
    

      

  • 相关阅读:
    POJ 1703 Find them, Catch them
    POJ 2236 Wireless Network
    POJ 2010 Moo University
    POJ 2184 Cow Exhibition
    POJ 3280 Cheapest Palindrome
    POJ 3009 Curling 2.0
    POJ 3669 Meteor Shower
    POJ 2718 Smallest Difference
    POJ 3187 Backward Digit Sums
    POJ 3050 Hopscotch
  • 原文地址:https://www.cnblogs.com/paulbai/p/2623953.html
Copyright © 2011-2022 走看看