现在的位置: 主页 > 公司荣誉 > 文章列表

[web开发学习笔记]Structs2 OGNL学习笔记

作者:石家庄绿之洲商贸有限公司 来源:www.365tt315.com 未知发布时间:2017-09-12 16:38:20
[web开发学习笔记]Structs2 OGNL学习笔记 第一部分:代码 //前端 访问属性

//web.xml //ognl.xml /ognl.jsp ognl //类包 //ognl.java package com.struts2.ognl; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import com.opensymphony.xwork2.ActionSupport; public class OgnlAction extends ActionSupport { private String password; private String username; private User user; private Cat cat; private List users = new ArrayList(); private Set dogs = new HashSet(); private Map dogMap = new HashMap(); public OgnlAction() { users.add(new User(1)); users.add(new User(2)); users.add(new User(3)); dogs.add(new Dog(dog1)); dogs.add(new Dog(dog2)); dogs.add(new Dog(dog3)); dogMap.put(dog100, new Dog(dog100)); dogMap.put(dog101, new Dog(dog101)); dogMap.put(dog102, new Dog(dog102)); } public String execute() { return SUCCESS; } public String getPassword() { return password; } public String getUsername() { return username; } public User getUser() { return user; } public Cat getCat() { return cat; } public List getUsers() { return users; } public Map getDogMap() { return dogMap; } public Set getDogs() { return dogs; } public String m() { return hello; } public void setCat(Cat cat) { this.cat = cat; } public void setDogMap(Map dogMap) { this.dogMap = dogMap; } public void setDogs(Set dogs) { this.dogs = dogs; } public void setPassword(String password) { this.password = password; } public void setUser(User user) { this.user = user; } public void setUsername(String username) { this.username = username; } public void setUsers(List users) { this.users = users; } } //user.java package com.struts2.ognl; public class User { private int age = 8; public User() { } public User(int age) { super(); this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return user + age; } } //cat.java package com.struts2.ognl; public class Cat { private Dog friend; public Dog getFriend() { return friend; } public void setFriend(Dog friend) { this.friend = friend; } public String miaomiao() { return miaomiao; } } //dog.java package com.struts2.ognl; public class Cat { private Dog friend; public Dog getFriend() { return friend; } public void setFriend(Dog friend) { this.friend = friend; } public String miaomiao() { return miaomiao; } } //展示 第二部分:分析 -> 点击之后,根据配置文件里里面的配置,找到文件包含
-> 查找olnl.xml文件

->

/ognl.jsp ognl

-> 根据xml配置文件里面的action关联的类,构造类对象;
-> 根据ognl.java构造ognl对象;
-> 展示阶段进行取值显示,有几种访问方式需要注意:
-> 访问值栈中属性,值栈中对象的方法,静态方法,静态属性,容器对象;
访问值栈中的action的普通属性
值栈中对象的普通属性
值栈中对象的普通方法
值栈中action的普通方法

静态方法访问方式@类名@方法名

需要在web.xml中设置 value=true>
查看默认设置的方法:/Struts2_1900_OGNL / WebRoot / WEB-INF / lib / struts2-core-2.1.6.jar /default.properties
访问集合
-> 调用方法
http://localhost:8080/Struts2_1900_OGNL/ognl.action?username=u&password=p&user.age = 19&cat.friend.name =oudy 第三部分;讨论 Object Graph Navigation Language
对象图导航语言

第四部分:有关投影的讨论 投影即过滤功能。
过滤写法:
  • 以? ^ $ 开头加上过滤条件,和正则表达式不相同;
    this表示循环过程中的对象,帮助你做一些循环;

  • 投影(过滤):
  • 表示从从users中取出age=1的那一个,专题系统,结果是一个集合;

  • 企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网站设计公司哪家好 https://www.feimao666.com

    上一篇:开发小技巧:jQuery处理自适应内容高度的iframe 下一篇:最后一页