velocity 调用java方法


package com.ada.wuliu.front.web.base;

import java.io.IOException;
import java.io.Writer;

import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.InternalContextAdapter;
import org.apache.velocity.exception.MethodInvocationException;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
import org.apache.velocity.runtime.directive.Directive;
import org.apache.velocity.runtime.parser.node.Node;

public class VmSession  extends Directive{
    private static   AdwlFrontBaseAction<Object> adwlFrontBaseAction =new AdwlFrontBaseAction<Object>() {};
    public void setAdwlFrontBaseAction(
            AdwlFrontBaseAction<Object> adwlFrontBaseAction) {
        this.adwlFrontBaseAction = adwlFrontBaseAction;
    }

    @Override
    public String getName() {
        // TODO Auto-generated method stub
        return "getUserState";
    }

    @Override
    public int getType() {
        // TODO Auto-generated method stub
        return LINE;
    }

    @Override
    public boolean render(InternalContextAdapter contextAdapter, Writer writer, Node node)
            throws IOException, ResourceNotFoundException, ParseErrorException,
            MethodInvocationException {
        try{
        // TODO Auto-generated method stub
            System.out.println("测试velocity自定义命令..........................");
            String str=adwlFrontBaseAction.getUserIDFromSession();
            System.out.println("测试velocity自定义命令..........................");
            contextAdapter.put("sso_pin", str);
            contextAdapter.put("test", "这是vmsession自定义指令加载进来的数据");
            System.out.println("测试velocity自定义命令..........................");
        }catch(Exception e){
            e.printStackTrace();
        }
        return true;
    }

}


测试vm单点登录调用</br>
自定义命令调用:#getUserState()</br>
自定义命令调用:#set($pin = $test)
获取自定义命令中设置的变量:$test</br>
这帮可爱的朝鲜人.....</br>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM