我有一张Java地图
Map<String, Object> model = new HashMap<>();
此地图的每个(键,值)对都是网址列表:
List<String> thumbnailImgUrl = new ArrayList<>();
for (....) {
thumbnailUrl.add(url);
}
model.put("photoUrl", thumbnailImgUrl);
我正在传递对象&#34; model&#34;到StringTemplate。
如何在字符串模板中访问各个网址?
Notification(model) ::= <<
{how can I access the individual urls here?}
>>
答案 0 :(得分:1)
我已将此问题标记为重复,但为了防止再讨论如何使用Java进行强制转换或迭代,正确的StringTemplate模板可以解答这个问题
Notification(model) ::= <<
<model.photoUrl:{v | model.photoUrl[<i>]=<v> }>
>>
map.key
访问地图中的项目,<list:{v|<v>}>
部分遍历列表并将一个无限的子模板应用于列表的每个元素。
答案 1 :(得分:0)
获取对象并将其强制转换为类类型 -
List<String> urls = (List<String>)(model.get("photoUrl"));
答案 2 :(得分:0)
为我尝试这项工作
for (Map.Entry<String, String[]> entry : model.entrySet()) {
ArrayList<String> urlLst= (ArrayList<String>) entry.getValue();
for(String url:urlLst)
System.out.println(url);
}
答案 3 :(得分:0)
要实现这一目标, 您必须以下列方式使用循环和临时变量:
Notification(model) ::= <<
$model.thumbnailImgUrl: {thumbnailImgUrl | URL is :- $thumbnailImgUrl.url$}$
>>
我希望这会有所帮助。