代码之家  ›  专栏  ›  技术社区  ›  oconnor0

在JSP标记之间传递动态属性?

  •  3
  • oconnor0  · 技术社区  · 15 年前

    我有一组JSP标记,它们使用动态属性来允许将任意HTML属性传递给它们,如下所示:

    <%-- tag named a:div --%>
    <%@ tag dynamic-attributes="attrs" %>
    <div <c:forEach var="attr" items="${attrs}"> ${attr.key}="${attr.value}"</c:foreach>>
    </div>
    

    然后我有另一个标记,我希望能够将动态属性传递给&have它,只需将它们传递给上面的标记即可。类似:

    <%-- tag using a:div --%>
    <%@ tag dynamic-attributes="attrs" %>
    <a:div class='big' attrs="${attrs}"/>
    

    但是 attrs=“$attrs” 不做我想做的。有什么想法吗?

    1 回复  |  直到 15 年前
        1
  •  3
  •   skaffman    15 年前

    遗憾的是,我认为这是不可能的。这里的“attrs”对象是 java.util.Map 也没有办法把它炸回去。

    另一种选择是允许 <a:div> 标记获取表示这些动态属性的映射属性。也许 <答:DIV & GT; 可以同时支持动态属性和从其他地方传入的映射,并使用 <c:choose> 诸如此类吗?