我遇到了以下代码,看起来它正在构建一个地图,但我无法在任何地方找到引用。
actionParams="${ format.asMap( 'name', 'me-popover-'.concat( name ), 'position', 'triggerBottom' ) }"
我的用例非常相似,我需要在JSP中构建一个映射。我不想从java传递这些信息,因为我们决定将静态内容发送到JSP文件,而动态来自java以保持业务逻辑简单。
有没有办法在不使用scriptlet的情况下在JSP中创建地图?
答案 0 :(得分:0)
使用以下方法创建一个类:
public Map<String, String> asMap(String... elements) {
int n = elements.length;
if (n % 2 != 0) {
throw new IllegalStateException("Cannot handle an odd number of elements");
}
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < n; i = i + 2) {
String key = elements[i];
String value = elements[i + 1];
map.put(key, value);
}
return map;
}
在JSP中,声明一个bean:
<jsp:useBean id="format" class="package.to.the.CreatedClass" />
然后您提供的代码应该有效。