If I have a tagfile such as:
view.tag
which contains:
<%@attribute name="redirect" required="true"%>
<%@attribute name="course" type="org.oclc.webjunction.portlet.courses.model.Course" required="true" %>
Hello <%=redirect%>
It works. I can go to a jsp, call this like <cart:view redirect="" course="" /> and the redirect and course show up nice and pretty.
If I do this though:
view.tag
<%@attribute name="redirect" required="true"%>
<%@attribute name="course" type="org.oclc.webjunction.portlet.courses.model.Course" required="true" %>
<%@ include file="init.tag"%>
it won't, it expects the attributes to be in init.tag. If I move them there, it works again.
Herein lies the problem. I do this a lot:
view.tag
<%@ include file="init.tag"%>
init.tag
<%@ include file="/html/common/tags/init-common.tag"%>
and it requires me to put my attributes in common to work! I use common for storing just things that will be used across all my tags, as such I can't be declaring attributes there.
The fix is to allow code completion of attributes from any file, not just the farthest include.