Я думаю, что это невозможно сделать без написания пользовательского DataLoader
. Я говорю «угадай», потому что, может быть, я не знаю об BeanShell трюк. Самое близкое, что я мог получить, это использовать return this.namespace;
, а затем ${test.getVariable('a')}
. Это, конечно, слишком многословно.
Update: На самом деле, следующий ужас еще ближе:
<#assign test=pp.loadData('eval', '
a="test1";
b="test2";
// This should be factored out into a common function somehow
ns = this.namespace;
vars = new HashMap();
for (name : ns.getVariableNames()) {
vars.put(name, ns.getVariable(name));
}
return vars;
')>
${test.a}
Вы можете установить его в файле config.fmpp. Можете ли вы так поступить? – ratherblue
Что я хочу сделать, так это разобрать строку в bsh и разложить ее на несколько переменных freemarker. – PPH