Search code examples
jspjsp-tags

JSP - Unresolved custom tag


I'm creating a custom JSP tag to generate tables from a data object. To make the code cleaner I wanted a separate tag file for the rows but I can't seem to be able to include a custom tag in my main custom tag (sorry I know it's confusing).

For example I have:

Table.tag:

<%@taglib prefix="tags" uri="urn:jsptagdir:/WEB-INF/tags" %>
<%tag description="My Table">
<table>
...
  <tags:row data="${dataRow}"/>
</table>

Row.tag

<%tag description="My Row">
<tr>
  <td>...</td>
  <td>...</td>
  ...
</tr>

Note the import in the first file (<%@taglib prefix="tags" uri="urn:jsptagdir:/WEB-INF/tags" %>). That is generated by the editor when I try to use the row tag but it doesn't work. In the final page I see <tags:row data="${dataRow}"/> instead of the expected result.

I tried to change the import to <%@taglib prefix="tags" tagDir="/WEB-INF/tags" %> - which is how I use the table tag - but the result is the same.

What am I doing wrong?


Solution

  • I have resolved the issue following the instructions in this answer: JSP Tag Files in subdirectories, using a single taglib prefix. Is that possible?

    I have created a .tld file describing my custom library and then imported it in the main tag.