在哪下载Ognl的jar包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在哪下载Ognl的jar包相关的知识,希望对你有一定的参考价值。

Struts2出来了,知道了Ognl。两个字:好!
但是每次都是在Web Project中用的,当我创建Java Project后,想要使用Ognl就只能把Struts也拷贝进来。
从Struts2中找到了Ognl的jar包,可是单独拷贝它却不能用。

我需要一个能脱离Struts2使用的Ognl的jar包,希望有人提供一个下载地址

参考技术A http://struts.apache.org/download.cgi#struts2181
选择下载
Essential Dependencies Only:

* struts-2.1.8.1-lib.zip (11mb)
这一项。里面的lib文件里就会有struts2用到的jar包;当然包括ogni包;
希望能帮到你……

Ognl表达式的使用

加入jar包

package cn.hncu.demo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import ognl.Ognl;
import ognl.OgnlException;

import org.junit.Test;

import cn.hncu.bean.Address;
import cn.hncu.bean.User;

public class Demo 
    @Test
    public void  fun1() throws OgnlException
        User user=new User();
        user.setName("Tom");
        Address address=new Address();
        address.setCity("长沙");
        user.setAddress(address);
        String name=(String) Ognl.getValue("name", new HashMap<Object,Object>(), user);
        System.out.println(name);
        System.out.println(Ognl.getValue("address.city", new HashMap<Object,Object>(), user));
    
    @Test
    public void  fun2() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        user.setName("Tom");
        Address address=new Address();
        address.setCity("长沙");
        user.setAddress(address);
        map.put(user, user);
        map.put("name", "Jack");
        System.out.println(Ognl.getValue("name", map, user));
        System.out.println(Ognl.getValue("#name", map, user));
    
    @Test
    //演示设置值1表达式
    public void  fun3() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        map.put(user, user);
        Ognl.getValue("name='Tom'", map, user);
        Ognl.getValue("#name='Tom2'", map, user);//map不行。只能是给map赋值赋值
        System.out.println(Ognl.getValue("name", map, user));
        System.out.println(Ognl.getValue("#name", map, user));
    
    @Test
    //演示设置值2setValue
    public void  fun4() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        map.put(user, user);
        Ognl.setValue("name", map, user,"Tom");
        System.out.println(user.getName());
        System.out.println(Ognl.getValue("name", map, user));
        System.out.println(Ognl.getValue("#name", map, user));
    
    @Test
    //演示方法的调用
    public void  fun5() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        map.put(user, user);
        Ognl.getValue("setName('Jack')", map, user);
        System.out.println(Ognl.getValue("name", map, user));
    
    @Test
    //演示静态方法的调用(静态方法不在根中)
    public void  fun6() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        System.out.println(Ognl.getValue("@cn.hncu.util.DateUtil@getTime()", map, new User()));
    
    @Test
    //演示静态方法的调用(静态方法在根中)
    public void  fun7() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        System.out.println(Ognl.getValue("@cn.hncu.util.DateUtil@getTime()", map, new User()));
        //      System.out.println(Ognl.getValue("@cn.hncu.util.DateUtil@getTime("+new Date()+")", map, new User()));不行
        //      System.out.println(Ognl.getValue("@cn.hncu.util.DateUtil@getTime(new Date())", map, new User()));不行
        System.out.println(Ognl.getValue("@cn.hncu.util.DateUtil@getTime(new java.util.Date())", map, new User()));//必须加类名
        System.out.println(Ognl.getValue("@cn.hncu.util.DateUtil@PI", map, new User()));
    
    @Test
    //演示连接符
    public void  fun8() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        map.put("name", "Tim");
        System.out.println(Ognl.getValue("1+1,1+2,#name", map, user));//只返回最后一个表达式结果
    
    @Test
    //演示创建对象list,map,user
    public void  fun9() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        System.out.println(Ognl.getValue("'Tom','Jack','wja'", map, user));
        System.out.println(Ognl.getValue("#'name':'Tom','age':20", map, user));
        System.out.println(Ognl.getValue("new cn.hncu.bean.User()", map, user));
    
    @Test
    //演示in,和not in
    public void  fun10() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        User user=new User();
        System.out.println(Ognl.getValue("'jack' in 'Tom','Jack','wja'", map, user));
        System.out.println(Ognl.getValue("'jack' not  in 'Tom','Jack','wja'", map, user));
        System.out.println(Ognl.getValue("'20' in #'name':'Tom','age':20", map, user));//true
        Map m=(Map) Ognl.getValue("#'name':'Tom','age':'20.6'", map, user);
        System.out.println(m.get("age").getClass());//根据具体情况去转换

    
    @Test
    //演示集合的投影
    public void  fun11() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        List<User> list=new ArrayList<User>();
        User user=new User();
        user.setName("Tom");
        User user2=new User();
        user2.setName("Tim");
        list.add(user);
        list.add(user2);
        System.out.println(Ognl.getValue("#this", map, list));//list
        System.out.println(Ognl.getValue("#this.name", map, list));//list.name

    
    @Test
    //演示集合选择过滤
    public void  fun12() throws OgnlException
        Map<Object,Object> map=new HashMap<Object,Object>();
        List<User> list=new ArrayList<User>();
        User user=new User();
        user.setName("Tom");
        user.setAge(20);
        User user2=new User();
        user2.setName("Tim");
        user2.setAge(2);
        list.add(user);
        list.add(user2);
        System.out.println(Ognl.getValue("#this.?age>18", map, list));//list.name

    


以上是关于在哪下载Ognl的jar包的主要内容,如果未能解决你的问题,请参考以下文章

mysql 对应的jar包版本

JDBC连接mysql导入jar包后为啥没反应啊

oracle驱动包在哪里下载啊

ognl-2.6.11.jar是干啥用的??

ognl_值栈操作

java中的common collection是啥?在哪下载?