package com.founderdpt.comm.xworld.plugin.struts2.util; import java.util.HashMap; import java.util.Map; import ognl.OgnlException; import com.founderdpt.comm.xworld.orm.exception.BuilderException; import com.founderdpt.comm.xworld.util.OgnlUtil; import com.founderdpt.comm.xworld.util.config.builder.OgnlCache; import com.opensymphony.xwork2.ActionInvocation; public class BindingTokenParser implements TokenHandler { private ActionInvocation invocation; private Map map; public BindingTokenParser(ActionInvocation invocation,Map map) { this.invocation = invocation; this.map=map; } public String handleToken(String content) { try { Map param_map = new HashMap(); param_map.putAll(invocation.getStack().getContext()); param_map.putAll(map); Object value = OgnlUtil.getValue(content, param_map); return (value == null ? "" : String.valueOf(value)); // issue #274 return "" instead of "null" } catch (OgnlException e) { throw new BuilderException("Error evaluating expression '" + content + "'. Cause: " + e, e); } } }