gpt4 book ai didi

java - 在 Velocity 模板中按名称引用 map

转载 作者:行者123 更新时间:2023-11-30 09:56:27 25 4
gpt4 key购买 nike

很确定对此有一个简单的答案,但就是找不到正确的 VTL 语法。

在我的上下文中,我正在传递一个包含其他 map 的 map 。我想按名称引用这些内部 map 并在我的模板中分配它们。内部 map 由应用程序的不同部分构建,然后添加到上下文中

举个例子

public static void main( String[] args )
throws Exception
{

VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate( "test.vm" );
VelocityContext context = new VelocityContext();

Map<String,Map<String,String>> messageData = new HashMap<String, Map<String,String>>();


Map<String,String> data_map = new HashMap<String,String>();
data_map.put("data_1","1234");
data_map.put("a_date", "31-Dec-2009");

messageData.put("inner_map", data_map);

context.put("msgData", messageData);
StringWriter writer = new StringWriter();

t.merge( context, writer );
System.out.println( writer.toString() );
}

模板 - test.vm

#set ($in_map =  $msgData.get($inner_map) )

data:

$in_map.data_1
$in_map.a_date

最佳答案

尝试

${in_map.get("data_1")}

${in_map.get("a_date")}

关于java - 在 Velocity 模板中按名称引用 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2344341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com