javaWEB项目感受

1.WEB-INF下的内容是受保护的,不能直接访问,可以通过转发的方式访问。

2.OGNL技术: 

  对象图像导航语言,是一种功能强大的表达式语言。可以让我们用非常简单的表达式访问对象层。

  OGNL引擎访问对象的格式:Ognl.getValue("OGNL表达式",对象本身);

  OGNL表达式:可以包含任何,包括各类表达式,计算公式,对象属相。某些方法等

步骤一:创建对象类,通过OGNL来取对应的数

package org.tedu.action;

import java.util.List;
import java.util.Map;

public class Foo {

    private Integer id;
    private String name;
    private String[] array;
    private List<String> list;
    private Map<String,String> map;
    
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String[] getArray() {
        return array;
    }
    public void setArray(String[] array) {
        this.array = array;
    }
    public List<String> getList() {
        return list;
    }
    public void setList(List<String> list) {
        this.list = list;
    }
    public Map<String, String> getMap() {
        return map;
    }
    public void setMap(Map<String, String> map) {
        this.map = map;
    }
    
}

步骤二:具体去的方式

 1 package org.tedu.action;
 2 
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 import java.util.List;
 6 import java.util.Map;
 7 
 8 import ognl.Ognl;
 9 import ognl.OgnlException;
10 
11 public class TestOGNL {
12 
13     public static void main(String[] args) throws OgnlException {
14         Foo f=new Foo();
15         f.setId(1);
16         f.setName("Bosh");
17         f.setArray(new String[]{"one","two","three"});
18         List<String> list=new ArrayList<String>();
19         list.add("a");
20         list.add("b");
21         list.add("c");
22         f.setList(list);
23         
24         Map<String,String> map=new HashMap<String,String>();
25         map.put("1", "java");
26         map.put("2", "hadoop");
27         map.put("3", "python");
28         f.setMap(map);
29         
30         System.out.println(Ognl.getValue("id", f));
31         System.out.println(Ognl.getValue("id+78", f));
32         System.out.println(Ognl.getValue("name", f));
33         System.out.println(Ognl.getValue("\"what is\" + name", f));
34         System.out.println(Ognl.getValue("array", f));
35         System.out.println(Ognl.getValue("list", f));
36         System.out.println(Ognl.getValue("map", f));
37         System.out.println(Ognl.getValue("name.toUpperCase()", f));
38     }
39 }

结果:

1
79
Bosh
what isBosh
[Ljava.lang.String;@12b82368
[a, b, c]
{3=python, 2=hadoop, 1=java}
BOSH

posted @ 2016-05-13 17:04  霓羽决奕  阅读(417)  评论(0编辑  收藏  举报