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>