<%@ tag body-content='empty' dynamic-attributes='tagAttrs'
%>
<%@ attribute name='optionsList' type='java.util.List'
required='true' rtexprvalue='true' %>
<%@ attribute name='name' required='true' %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<select name='${name}'
<c:forEach var="attrEntry" items="${tagAttrs}">
${attrEntry.key}='${attrEntry.value}'
</c:forEach>
>
<c:forEach var="option" items="${optionsList}">
<option value='${option}'> ${option} </option>
</c:forEach>
</select> `
所以在这个例子中我们得到了tagAttrs var。 它是一个haspmap但是谁设置了这个值。以及它如何验证attritbutes的正确值。
并且当我在eclipse中粘贴此代码时,我收到了错误
错误是:isValid()== false what is this, i have never this type of error.
答案 0 :(得分:0)
动态属性的想法是能够传递一组属性,甚至不需要事先知道它们的名字。在这种情况下,代码属性可以是style
,class
,id
以及HTML选择框可以拥有的所有其他标准或非标准属性。例如:
<tags:select name="preferredSport" <%-- required name attribute --%>
optionsList="${sports}" <%-- required optionsList attribute --%>
id="preferred-sport" <%-- dynamic attribute --%>
class="inline" <%-- dynamic attribute --%>
style="color: red;" /> <%-- dynamic attribute --%>