在 EL JSP 中构建地图



我遇到了以下代码,看起来它正在构建地图,但我在任何地方都找不到参考。

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" />

然后,您提供的代码应该可以工作。

最新更新