2009-07-22 43 views
3

我有一组使用动态属性来允许任意的HTML属性中要传递给他们,这样的JSP标签:在JSP标签之间传递动态属性?

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

我再有,我希望能够通过另一个标签动态属性到&它只是将它们传递到上面的标记。喜欢的东西:

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

ATTRS = “$ {} ATTRS”不会做我想做的。有任何想法吗?

回答

3

我不认为这是可能的,可悲的是。这里的“attrs”对象是一个java.util.Map,并且无法爆炸。

另一种方法是允许您的<a:div>标记采用代表这些动态属性的Map属性。也许<a:div>既可以支持动态属性,也可以支持从其他地方传入的地图,并使用<c:choose>或类似的东西来对待它们?

+0

嗯,太糟糕了。如果我最终走下这条路线,这可能就是我最终会做的。我在这方面遇到了一些麻烦,无法启动它。 – oconnor0 2009-09-15 17:27:40