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>