Sum*_*ore 14 spring-mvc broadleaf-commerce thymeleaf
我有一个Hashmap (String, List<Offers>),传递到Thymeleaf页面.我在页面上获取此地图,我可以访问它.
我怎么能map.get(key)和Thymeleaf一起做?我只需要根据某个键获取值,然后解析并打印该值,我知道并具有该逻辑.
我正在运行Broadleaf应用程序,而Thymeleaf是它的UI引擎.
Pra*_*hat 18
你可以简单地使用 ${map.get('key')}
Mat*_*ugh 14
使用${map.get(key)}(where key是变量)对我有用.
${map['key']}似乎只适用于字符串文字键 - 如果key你查找的是一个变量,那么${map[key]} 似乎不起作用.
这是一个完整的示例,在HashMap中查找项目,map给出listOfKeys了我想从地图中获取的元素键的有序列表.使用这样的单独listOfKeys使我可以控制迭代的顺序,并可选择只返回地图中元素的子集:
<ul>
<li th:each="key: ${listOfKeys}"">
<span th:text="${key}"></span> = <span th:text="${map.get(key)}"></span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
如果您没有有序的键列表,但只想循环遍历Map中的每个项目,那么您可以直接遍历地图keySet()(但如果您的地图是a,您将无法控制返回的键的顺序HashMap) :
<ul>
<li th:each="key: ${map.keySet()}">
<span th:text="${key}"></span> = <span th:text="${map.get(key)}"></span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
通过简单地遍历entrySet地图,访问每个返回的条目key和value成员,可以更简洁地表达这种用法:
<ul>
<li th:each="entry: ${map}">
<span th:text="${entry.key}"></span> = <span th:text="${entry.value}"></span>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
小智 7
访问该值的方法:
${map[__${key}__]}
Run Code Online (Sandbox Code Playgroud)
您必须将键放在加倍的下划线之间,以对键变量进行预处理.
我正在使用下拉框,例如在地图上循环键
<select id="testId">
<option th:each="item: ${itemsMap}"
th:value="${item['key']}"
th:text="${item['value']}" />
</select>
Run Code Online (Sandbox Code Playgroud)
在获得特定值的情况下,我正在使用
${itemsMap.get('key')}
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我有一个HashMap<String, String>,我必须像这样进行查找
<strong th:text="${map['__${entry.key}__']}"></strong>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39909 次 |
| 最近记录: |