我遇到了以下代码,看起来它正在构建地图,但我在任何地方都找不到参考。
actionParams="${ format.asMap( 'name', 'me-popover-'.concat( name ), 'position', 'triggerBottom' ) }"
我的用例非常相似,我需要从JSP中构建映射。我不想从 java 传递这些信息,因为我们决定将静态内容传递给 JSP 文件,并从 java 动态以保持业务逻辑简单。
有没有办法在不使用脚本的情况下在 JSP 中创建地图?
使用以下
方法创建一个类:
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" />
然后,您提供的代码应该可以工作。