My question is about the use of *.tag files, to have the container (TC) 
automatically build
tag libraries from my test.tag file.  But some aspects don't work as I would 
naturally expect and I don't know
if this is my lack of understanding or a genuine bug.

When I use <%@ attribute name="vvAbcDefGhi" required="false" ... %> I have no 
problem.

Now when I start to alter the name="" value so that it uses the values:

vvAbcDefGhi (no problem here)
vvabcdefghi (no problem here)
vAbcDefGhi (does not work for me, I would expect this to be ok)
AbcDefGhi (does not work for me, I'm less sure if this is ok but can't see any 
reason why it isn't allowed providing the name does not clash with another 
defined attribute called abcDefGhi)

When I say it does not work for me I can an error about being unable to find 
the setter function of the generated tag library.

There is a function in org/apache/jasper/compiler/Generator.java which seems to 
do the business
#generateTagHandlerAttributes(TagInfo tagInfo) converts it into code.  I have 
tested the methods #toGetterMethod(String)
and #toSetterMethodName(String) with my tag attribute names above and I get expected case conversion.


Here is a cut and paste of the parts I think are relevant.


WEB-INF/tags/test.tag:

<%@ tag language="java" pageEncoding="UTF-8" body-content="scriptless" %>
<%@ attribute name="vvAbcDefGhi" required="false" rtexprvalue="true" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"; %>
...SNIP...
My HTML is here ${vvAbcDefGhi}
...SNIP...


test.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
...SNIP...
<tags:test vvAbcDefGhi="value1" />
...SNIP...




--
Darryl L. Miles



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to