Jdev 10G Custom Tag compilation problems

Hi,
I noticed that new tld's are added to "src/META-INF/."
When i compile my jsp to reference the tld it is not successful b/c it is looking for the tlds within the "public_html" or somewhere within it. I turned off tld and web.xml validation, but jdev 10G still validates the location of the tld. Is there way to configure Jdev to put the tld in another location?
I know i can work around this by building w/ ant or someother compiler external to Jdev, but would like to remedy this problem so i can use jdeveloper as it is.
hope someone can shed some light, i've been working on this all day long...
Thanks in advance,
Eugene

i am referenceing the tld via the web.xml alias entry. I found a work around where i copy the tld to somewhere in the public_html location of the project. I guess Jdeveloper doesn't look for the tld within META-INF which is embedded in the src directory structure of the project. For some reason, Jdeveloper doesn't look there for the TLD where it writes the tld to. it's interesting that jdeveloper doesn't look for the tld where it writes to. :)
from the server side, when i deploy, it works okay. but to get around the compilation problem, i have to copy the tld or softlink it to the META-INF location of the original tld.
I tried turning off web.xml, tld, and jsp validation of TLDs to get around this problem, but that doesn't seem to "turn it off."
How do you approach this problem? do you use ant or some other external build process?
thanks!

Similar Messages

  • Custom Tag Capitalization Problem..

    All,
              OS: Windows 2000
              App Server: Weblogic 6.0 sp 2
              JDK: 1.3 (and tried 1.3.1)
              I have a set of custom tags that run fine when I use them on an app server (such as Enhydra) with JDK 1.2.2, but when I switch to JDK 1.3.x, which weblogic 6.x requires, they suddenly start generating errors with attributes which have capitalized letters in them. For example, in my taglib I have:
              <attribute>
              <name>closeConnection</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              </attribute>
              and in the support class I have:
              * Get the value of closeConnection.
              * @return value of closeConnection.
              public boolean getCloseConnection() {
              return closeConnection;
              * Set the value of closeConnection.
              * @param v Value to assign to closeConnection.
              public void setCloseConnection(String v) {
              if(v.toUpperCase().equals("TRUE")){
              this.closeConnection = true;
              } else {
              this.closeConnection = false;
              When I go to the page that this tag is on, I get the following output:
              Parsing of JSP File '/index.jsp' failed:
              /index.jsp(1): Error in using tag library uri='/cwerks' prefix='cwerks': There is no setter method for property 'closeconnection', for Tag class 'net.cwerks.taglib.MyTag'
              probably occurred due to an error in /index.jsp line 1:
              <%@ taglib uri="/cwerks" prefix="cwerks" %>
              Thu Aug 02 19:06:52 PDT 2001
              Note that the 'closeconnection' is all lowercase despite the fact that it is upper case in the tld and in the class itself.
              I came across a similar problem in weblogic 5.1 when I upgraded from JDK 1.2.2 to JDK 1.3. I tried changing the JDK for weblogic 6.0 sp 2 to 1.2.2, but a dll was missing. I also tried switching it to 1.3.1, but that did not help. It seems like introspection may have changed slightly between the two version. I'm shocked, and a bit suspicious, that I haven't seen this problem all over the newsgroups. Anyone else seen this?
              Thank you,
              Carson Gross
              [email protected]
              [att1.html]
              

    A solution presents itself:
              The problem was NOT with capitalization. Instead, the problem was as
              follows:
              My method was for setting a boolean, but I took a string so that people
              wouldn't have to type:
              <mytags:tag foo="<%=true%>" />
              instead, they could type:
              <mytags:tag foo="true" />
              which would call the setter method with a string "true", which would be then
              converted to a boolean within my class.
              So my setter has this signature:
              public void setFoo(String s)
              and my getter has this signature:
              public boolean getFoo() /* I know this isn't standard, but isFoo doesn't
              sound good to me*/
              I can't tell if it's because JavaBeans changed slightly between jdk 1.2.2
              and 1.3.x, or if Weblogic changed the way that they do things (I suspect the
              latter, since I had things working fine in WL 5.2 w/ jdk 1.2.2 and then
              things broke with WL 5.2 w/ jdk 1.3), but this no longer returns foo as a
              valid property to be set, and since weblogic 6.x relies on JavaBeans,
              instead of straight up introspection, it barfs. (I found this out by using
              jad/emacs, a wicked combination for those who want to poke around in jars).
              Anyway, I hope I can save someone else who has this same, albeit
              specialized, problem a lot of pain by my discovery. Your getters and
              setters better be of the same type with custom tags, or weblogic w/ jdk1.3.x
              is gonna barf when parsing the tld.
              Cheers, and thank God that's behind me,
              Carson Gross
              [email protected]
              ====================================================
              "Carson Gross" <[email protected]> wrote in message
              news:[email protected]...
              The plot grows thicker...
              The tags work fine on Tomcat 3.2.2
              I deploy the example tags that came with wl60 that have more than one
              capital letter in thier attributes, and they work fine. But my tag library
              stubbornly insists on not working so long as I keep the attributes with more
              than one capital letter in. If I remove the offending attributes, or change
              them to have only one capital letter, they work, but this is not an
              acceptable solution. (I guess.)
              I even created an simple introspection class to make sure that the acutal
              methods were there. They were.
              I am at a complete loss here... I guess it's tomcat for now.
              Cheers,
              Carson Gross
              [email protected]
              "Carson Gross" <[email protected]> wrote in message
              news:[email protected]...
              All,
              OS: Windows 2000
              App Server: Weblogic 6.0 sp 2
              JDK: 1.3 (and tried 1.3.1)
              I have a set of custom tags that run fine when I use them on an app server
              (such as Enhydra) with JDK 1.2.2, but when I switch to JDK 1.3.x, which
              weblogic 6.x requires, they suddenly start generating errors with attributes
              which have capitalized letters in them. For example, in my taglib I have:
              <attribute>
              <name>closeConnection</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              </attribute>
              and in the support class I have:
              * Get the value of closeConnection.
              * @return value of closeConnection.
              public boolean getCloseConnection() {
              return closeConnection;
              * Set the value of closeConnection.
              * @param v Value to assign to closeConnection.
              public void setCloseConnection(String v) {
              if(v.toUpperCase().equals("TRUE")){
              this.closeConnection = true;
              } else {
              this.closeConnection = false;
              When I go to the page that this tag is on, I get the following output:
              Parsing of JSP File '/index.jsp' failed:
              /index.jsp(1): Error in using tag library uri='/cwerks' prefix='cwerks':
              There is no setter method for property 'closeconnection', for Tag class
              'net.cwerks.taglib.MyTag'
              probably occurred due to an error in /index.jsp line 1:
              <%@ taglib uri="/cwerks" prefix="cwerks" %>
              Thu Aug 02 19:06:52 PDT 2001
              Note that the 'closeconnection' is all lowercase despite the fact that it is
              upper case in the tld and in the class itself.
              I came across a similar problem in weblogic 5.1 when I upgraded from JDK
              1.2.2 to JDK 1.3. I tried changing the JDK for weblogic 6.0 sp 2 to 1.2.2,
              but a dll was missing. I also tried switching it to 1.3.1, but that did not
              help. It seems like introspection may have changed slightly between the two
              version. I'm shocked, and a bit suspicious, that I haven't seen this
              problem all over the newsgroups. Anyone else seen this?
              Thank you,
              Carson Gross
              [email protected]
              

  • Custom tag: Compilation error

    I created a simple class for a simple custom tag. Whenever, I tried to compile, I got this error message:
    package javax.servlet.jsp.tagext does not exist
    Here's what I did:
    javac -classpath c:\jakarta-tomcat-5.5.9\common\lib\servlet-api.jar com\app\mytags\errorTag.java
    I'm using J2SE 5.0 SDK and Tomcat 5.5.9. In addition, I also included the servlet-api.jar in classpath.
    Thanks so much,
    Raja

    Here's what I did:
    javac -classpath
    c:\jakarta-tomcat-5.5.9\common\lib\servlet-api.jar
    com\app\mytags\errorTag.javaUnless you have put com/app/mytags/errorTag.java into that jar file, that isn't what you did. If you did, the compiler would complain that it couldn't find errorTag.java. Because you don't have a classpath entry where it might be.

  • Custom tag library problem

    I created a workspace with two projects in it.
    In the first project I realized a tag library with its deployment descriptor.
    In the second project I realized a .war component with a jsp that uses the tag in the library.
    In the .war deployment descriptor I choosed the library deployment descriptor in the Profile Dependencies page.
    When I deploy my .war (alone or in an .ear) file I properly find the library .jar file in it but in this .jar file there isn't any .class file.
    Where are my tag handlers? If I deploy the tag library alone the .class files are there so I can replace the library .jar file created in the .ear and all works properly.
    I tried creating a third project that include the .war in its .ear, but I cannot include my tag library .jar because it's not listed in the Application Assembly page.
    Thank you
    Andrea Mattioli

    I found the bug! Its in greeting.jsp ...
    Instead of
    <tw:greeting />
    I typed....
    <tw.greeting />
    which resulted in the the custom tag not being called! That was the source of my problem.
    Thanks,
    Joe!

  • JSP Custom tag uri problem

    I'm using custom tags in my app (JSP 1.2). My tld is located in WEB-INF/tlds (not packaged in a JAR), meaning that the uri in the tld file should be picked up by JSP 1.2's autodiscovery. This works fine in actual deployment, but Nitrox claims that:
    "The tag library uri "mytaglib" cannot be mapped to an existing tld file. "
    when I attempt to reference it as follows from within my jsps:
    <%@ taglib uri="mytaglib" prefix="m" %>
    Do you know if this is a bug, or have any suggestions as to why the tld uri isn't being picked up by Nitrox?
    Thanks,
    John

    This is a known (kind of) issue. There are 2 easy workarounds:
    1- Specify the path to the tld file in the uri attribute. For example:
    <%@ taglib uri="/WEB-INF/mytaglib.tld" prefix="m" %>
    2- Map the tld file in web.xml. For example:
    <taglib>
    <taglib-uri>mytaglib</taglib-uri>
    <taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
    </taglib>
    M7 Support

  • Jsp/custom tag compiler error (HttpServletResponse)

    I originally posted with on Oracle's site but I am not getting any help.
    Our server is running Oracle 9ias with JServ and Apache.
    I have created a simple jsp that calls a custom tag but I am getting the following error:
    Method addHeader(java.lang.String, java.lang.String) not found in interface javax.servlet.http.HttpServletResponse.
    response.addHeader("Pragma", "No-cache");
    ^
    Is something not setup correctly or installed where it should be?
    the code for the custom tag is from the O'reilly book "JavaServer Pages." This works with JDeveloper on my computer but not on our server.
    package info.wyoroad.jsp.tags.generic;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    * This class is a custom action for setting response headers
    * that prevent the page from being cached by a browser or
    * proxy server.
    * @author Hans Bergsten, Gefion software <[email protected]>
    * @version 1.0
    public class NoCacheTag extends TagSupport {
    * Sets "no cache" response headers
    public int doEndTag() throws JspException {
    HttpServletResponse response =
    (HttpServletResponse) pageContext.getResponse();
    response.addHeader("Pragma", "No-cache");
    response.addHeader("Cache-Control", "no-cache");
    response.addDateHeader("Expires", 1);
    return EVAL_PAGE;
    }

    The jsp looks like:
    <%@ page language="java" contentType="text/html;charset=WINDOWS-1252"%>
    <%@ taglib uri="/WEB-INF/wylib.tld" prefix="info" %>
    <HTML>
    <HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=WINDOWS-1252">
    <META NAME="GENERATOR" CONTENT="Oracle JDeveloper">
    <info:NoCache />
    <TITLE>
    Test tag
    </TITLE>
    </HEAD>
    <BODY>
    <H2>Test the tag NoCache</h2> </P>
    </BODY>
    </HTML>

  • Jsp & custom tag buffer problem

    Hi all,
    I have a tag that reads one of the txt file and renders the output on the JSP.
    The problem is, when I refresh the same page in it duplicates the output and append it to the previous output every time (mostly).
    I know there is no that there is no exception occurred, bcoz i have checked the log files. I am using tomcat 5.5.9
    I tired to use out.flush() but it gave me same thing.
    Any help would be appreciated.
    Thank you.
    The code:
    JspWriter out = pageContext.getOut();
    URL header = new URL(url);
    BufferedReader in = new BufferedReader
    (new InputStreamReader(header.openStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null){
    System.out.println(inputLine);
    fileContent = fileContent + inputLine;
    in.close();
    out.print(fileContent);
    out.flush();

    code_box wrote:
    You are genius. Tell that to the forum elite! Seriously, it's just a matter of practice. I've been using Java since 1998 so I better be able to spot that!
    A very basic mistake from me and you spotted it right away...As you get more experience you'll spot them esaily yourself, but as you write more and more complex code, the mistakes you DO make will be much harder to figure out. :)
    Thanks a lot. It resolved the problem.
    Cheers mate,
    /md.Any time. Good luck!

  • Jsp 2.0 and jdev 10g production (custom tags)

    there are some examples at
    http://otn.oracle.com/sample_code/tech/java/jsps/index.html
    I have certian questions it would be great if some one would clear these for me..
    In JSP 1.2 if we wanted to write the custom tag's we had tag classes that extend TagSupport or TagBodySupport and the doStart() and doEnd() tag with the evaluate body. I could spit out the complete html text on an encounter of a tag! but in the JSP 2.0 a doTag() seems to take care of the intracies! how??
    Now with jsp 2.0 I want to do the same... say some thing like this ....
    <tg:myTag list="${somelist}"></tg:myTag> and say in my tag handler class I know what to do with this list. May be I will create complete html code and will use jspWriter to write out the html inbetween these tags!!
    I have downloaded the eStore example but this class
    javax.servlet.jsp.tagext.SimpleTagSupport; is not imported. So I am not able to look at the SimpleTagSupport class.
    If I am trying to run the example in jdev 10g production should I have to specify that I am using jsp 2.0 so that jdev knows not to use jsp 1.2? if so how can I do this.
    Does all the examples provided use the OC4J standalone? Can I use the embedded oc4J instead?
    regards.

    After reading a bit more now I know how the tags work.
    However from the example I see (eStore) an array called by name "products" is created and set on the jspContext. If I already have the list and want to pass on the list which is in a bean or a session or a request can I provide it this way.
    <tag:myTag var=${bean.list}>
    or
    <tag:myTag var=${session.list}>
    or
    <tag:myTag var=${request.list}>in the .tld file I should specify the attribute var and whether it should be runtime evaluable.
    and in the TagClass
    private Collection var;
    private String listName;
    public void setVar(Colloection aList) {
      this.var = aList;
    public Collection getVar() {
      return var;
    public void doTag( ) throws JspException{
      // do i always need to this next line ------
      getJspContext( ).setAttribute(listName, getVar());
    }so that in my .tag file I can use some thing like this
    <c:forEach var="list" items="${item}">
      <td>${item.subObject.name}</td>
      <td>${item.subObject.value}</td>
    </c:forEach>And finally... as and when a tag is encountered the .tag file contents corresponding to that tag is called to get the html text and all that text is printed out in the jsp page right (without the jspWriter "out"). How does the browser know when to stop? like doEndTag() function? are these functions implicitly called?
    regards.

  • Custom Tag Problem With iPlanet

    Hi,
    I've followed the instructions for creating Custom Tags located at: http://docs.iplanet.com/docs/manuals/enterprise/41/rn41sp9.html#18776. I'm using the examples provided and am still getting the:
    org.apache.jasper.JasperException: Unable to open taglibrary /jsps/test-tags.jar : com.sun.xml.tree.TextNode
    error. I've followed the instructions "Make sure you have the DOCTYPE in your taglib.tld..." but I still get the error.
    iPlanet 4.1 Enterprise on Windows 2000
    Any ideas?
    Thanks in advance.

    Hey i am also getting the same error, please let me know if u had solved this problem. i have copied the error message below
    [25/Feb/2002:15:00:46] info ( 260): JSP: JSP1x compiler threw exception
    org.apache.jasper.JasperException: Unable to open taglibrary /jsps/test-tags1.jar : in is null
         at org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventListener.java:708)
         at org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener.java:119)
         at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:190)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1048)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1022)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1018)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:173)
         at com.netscape.server.http.servlet.NSServletEntity.load(NSServletEntity.java:230)
         at com.netscape.server.http.servlet.NSServletEntity.update(NSServletEntity.java:149)
         at com.netscape.server.http.servlet.NSServletRunner.Service(NSServletRunner.java:453)
    [25/Feb/2002:15:00:46] warning ( 260): Internal error: Failed to get GenericServlet. (uri=/web/jsps/test-tags.jsp,SCRIPT_NAME=/web/jsps/test-tags.jsp)

  • Custom Tag Problems

    Hello Everyone,
    I am using iPlanet 4.1 as my web server and am having some problems with using custom tags. I try to access a jsp that uses my custom tags and I get a 500 Internal Server error. Then when I check the web server logs all it has is this one very esoteric message: "[26/Sep/2002:08:35:51] warning ( 8042): Internal error: Failed to get GenericServlet. uri=/BUYS/sep_accts.jsp,SCRIPT_NAME=/BUYS/sep_accts.jsp)" Usually I get this message when I make changes to a servlet and do not restart the web server, but that is not the problem this time.
    I am trying to use a very simple tag called SayHelloTag which just prints hello to the browser. I have a foundation tag which extends tag support and then SayHelloTag extends the foundation tag. Then I have it all JARd up and in the classpath like I'm supposed to. If anyone could take a look at my code and tell me if you see anything wrong I would be most appriciative!
    BuysFoundationTag
    package com.nf.buys.tags;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import java.io.*;
    import com.nf.buys.lists.*;
    public class BuysFoundationTag extends TagSupport
    SayHelloTag
    package com.nf.buys.tags;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    import java.io.*;
    import com.nf.buys.lists.*;
    public class SayHelloTag extends BuysFoundationTag
        public int doStartTag()
        {   System.out.println("Starting do Start tag");
            try
                System.out.println("start the try statement");
                JspWriter out = pageContext.getOut();
                System.out.println("output the hello message");
                out.println("Say Hello");
            catch(Exception e)
                e.printStackTrace();
            finally
                return SKIP_BODY;
    TLD File
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
    "http://cheerios2.nfs.nwie.net:5050/BUYS/web-jsptaglibrary_1_1.dtd">
    <taglib>
      <!-- after this the default space is "jsptaglibrary_1_2.dtd" -->
      <tlibversion>1.0</tlibversion>
      <jspversion>1.1</jspversion>
      <shortname>buyslib</shortname>
      <info>
        A custom tag library for use by the Nationwide Financial,
        Financial Systems, Automated Buy/Sell System.
      </info>
      <tag>
        <name>SayHello</name>
        <tagclass>com.nf.buys.tags.SayHelloTag</tagclass>
        <bodycontent>JSP</bodycontent>
        <info>A test tag</info>
      </tag>
    </taglib>
    finally, my JSP page
    <html>
      <head>
        <title>Automated BUY/SELL System</title>
        <link rel=stylesheet href="buys_styles.css" type="text/css">
        <%@ taglib uri="/BUYS/buys-tags.jar" prefix="buystag" %>
      </head>
      <body bgcolor='#FFFFF'>
        <div id='heading'>
          This is the heading information
        </div>
        <div id='navigation'>
         <table width='100%'>
          <tr>Nav Option 1</tr>
          <tr>Nav Option 2</tr>
          <tr>...</tr>
          <tr>Nav Option n</tr>
         </table>
        </div>
        <div id='optionalMessage'>
          This is the optional message
        </div>
        <div id='listArea'>
          <buystag:SayHelloTag>
        </div>
      </body>
    </html>I get no compilation errors when I compile any of the tag handler classes. But when the web server can't compile the jsp page. Am I doing something obviously wrong? Please help!!
    Chris

    OMG I am a moron. I just have the name of the tag wrong.

  • Initial problem with JSP Custom Tag devolopment

    Hi ,
    I have encountered a problem with my JSP application which utilizes a simple custom tag.
    First I created followinng directories.
    1. %TOMCAT_HOME%\webapps\testTags
    2. %TOMCAT_HOME%\webapps\testTags\META-INF
    3. %TOMCAT_HOME%\webapps\testTags\WEB-INF
    4. %TOMCAT_HOME%\webapps\testTags\WEB-INF\tlds
    5. %TOMCAT_HOME%\webapps\testTags\WEB-INF\classes
    6. %TOMCAT_HOME%\webapps\testTags\WEB-INF\classes\com
    7. %TOMCAT_HOME%\webapps\testTags\WEB-INF\classes\com\tek271
    8. %TOMCAT_HOME%\webapps\testTags\WEB-INF\classes\com\tek271\testTags
    I created the essential four files, that is named as follows.
    1.TagError.java
    2.web.xml
    3.testTld.tld
    4.testJsp.jsp
    Then i put the files under these directories as given below
    testJsp.jsp under %TOMCAT_HOME%\webapps\testTags.
    web.xml under %TOMCAT_HOME%\webapps\testTags\WEB-INF
    TagError.java under %TOMCAT_HOME%\webapps\testTags\WEB-INF\classes
    TagError.class under %TOMCAT_HOME%\webapps\testTags\WEB-INF\classes\com\tek271\testTags
    testTld.tld %TOMCAT_HOME%\webapps\testTags\WEB-INF\tlds
    Here is the content inside the files.
    1.TagError.java
    package com.tek271.testTags;
    import java.io.*;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    public class TagError extends TagSupport {
    private String mColor = "red";
    public void setColor(String aColor) {
    mColor = aColor;
    } // setColor
    public int doStartTag() throws JspException {
    try {
    JspWriter out = pageContext.getOut();
    out.print("<font color=\"");
    out.print(mColor);
    out.print("\"><b>Error: ");
    } catch (IOException ex) {
    throw new JspTagException(ex.getMessage());
    return EVAL_BODY_INCLUDE; // other return: SKIP_BODY
    } // doStartTag()
    public int doEndTag() throws JspException {
    try {
    JspWriter out = pageContext.getOut();
    out.println("</b></font><br>");
    } catch (IOException ex) {
    throw new JspTagException(ex.getMessage());
    return EVAL_PAGE; // other return: SKIP_PAGE
    } // doEndTag()
    } // TagError
    2.web.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app>
    <taglib>
    <taglib-uri>/testTaglib</taglib-uri>
    <taglib-location>/WEB-INF/tlds/testTld.tld</taglib-location>
    </taglib>
    </web-app>
    3.testTld.tld
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>testTld</shortname>
    <info>Testing jsp tags</info>
    <tag>
    <name>tagError</name>
    <tagclass>com.tek271.testTags.TagError</tagclass>
    <bodycontent>JSP</bodycontent> <!-- Also: empty, tagdependent -->
    <info>Show a string as an error message</info>
    <attribute>
    <name>color</name>
    <required>false</required>
    </attribute>
    </tag>
    </taglib>
    4.testJsp.jsp
    <%@ taglib uri="/testTaglib" prefix="test" %>
    <html>
    <head>
    <title>Testing Tag Library</title>
    </head>
    <body>
    <test:tagError>Invalid user name</test:tagError>
    <test:tagError color="blue">Invalid Password</test:tagError>
    </body>
    </html>
    but i am getting the following error.
    Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server Error
    type Exception report
    message Internal Server Error
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: File "/testTaglib" not found
    at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:214)
    at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:174)
    at org.apache.jasper.compiler.JspParseEventListener.processTaglibDirective(JspParseEventListener.java:1162)
    at org.apache.jasper.compiler.JspParseEventListener.handleDirective(JspParseEventListener.java:758)
    at org.apache.jasper.compiler.DelegatingListener.handleDirective(DelegatingListener.java:121)
    at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:255)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1145)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1103)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1099)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:213)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
    at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:552)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
    at java.lang.Thread.run(Thread.java:536)
    why is it like this ?please give me a solution.
    Thanking in advance.
    From
    Vinod A.

    Dear patreck ,
    It does not work.
    I have replaced the line
    <%@ taglib uri="/testTaglib" prefix="test" %>
    with
    <%@ taglib uri="WEB-INF/tlds/testTaglib" prefix="test" %>
    but now it shows the error ,
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: File "/testTags/WEB-INF/tlds/testTaglib" not found
    any more suggestion ?
    From Vinod A.

  • Problems with custom tags (Tomcat 4.1)

    I have been trying to set up an existing web application to use a custom tag library. I have these tag-related files:
    /photodb/WEB-INF/photodb.tld
    /photodb/WEB-INF/classes/PhotoListTag.class
    /photodb/photolist.jsp
    This is how i have the photoList tag configured in photodb.tld
    <tag>
    <name>photoList</name>
    <tag-class>PhotoListTag</tag-class>
    <body-content>JSP</body-content>
    <attribute>
    <name>startIndex</name>
    </attribute>
    </tag>
    When i try to view photolist.jsp, i get this error:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: -1 in the jsp file: null
    Generated servlet error:
    [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\photodb\photolist_jsp.java:73: cannot resolve symbol
    symbol : class PhotoListTag
    location: class org.apache.jsp.photolist_jsp
    PhotoListTag jspxth_photodb_photoList_0 = (PhotoListTag) jspxtagPool_photodb_photoList.get(PhotoListTag.class);
    ^
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\photodb\photolist_jsp.java:73: cannot resolve symbol
    symbol : class PhotoListTag
    location: class org.apache.jsp.photolist_jsp
    PhotoListTag jspxth_photodb_photoList_0 = (PhotoListTag) jspxtagPool_photodb_photoList.get(PhotoListTag.class);
    ^
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\photodb\photolist_jsp.java:73: cannot resolve symbol
    symbol : class PhotoListTag
    location: class org.apache.jsp.photolist_jsp
    PhotoListTag jspxth_photodb_photoList_0 = (PhotoListTag) jspxtagPool_photodb_photoList.get(PhotoListTag.class);
    ^
    3 errors
    I have tried many ideas, such as packaging the tag handler class, and putting the class file in other loctions, but nothing has helped.
    I know that Tomcat is recognizing PhotoListTag at some point (when it parses the TLD file, but not when compiling the JSP, I think), because if i change the <tag-class> to an invalid class, i get an "Unable to load class photoList" (which is a confusing error message btw, as photoList is not a class, but a tag name).
    Does anyone know how to fix this problem? I've been going in circles for hours, and i'm thinking this problem has a simple solution.

    Thank you for your quick replies. Unfortunately, they do not solve my problem. If I put PhotoListTag in the com.yourdomain package (and move it to classes/com/yourdomain), the error changes to reflect the different package (e.g. package com.yourdomain does not exist). Also, deleting the class files and restarting Tomcat did not cause any changes.
    Although my knowledge of how Tomcat works is limited, it seems to me that something like this is happening:
    When a request for /photodb/photolist.jsp is recieved, tomcat processes that file, processes the tld file, and checks for that any classes called using a tag--in this case <photodb:photoList>--exist. If the class is invalid, the error message "Unable to load class photoList" is given.
    Otherwise, it translates the jsp into java, and attempts to compile it. This is where the problem occurs. It seems that the jasper compiler does not know where to look for the PhotoListTag class. Is there a way that this can be changed, or is could the problem be caused by something else?

  • JDev 9.0.3 - Working with Custom Tags Hangs JDev Repeatedly!

    All,
    I recently upgraded from JDev 9.0.2 to 9.0.3 because of the new support for JSP 1.2 and Servlets 2.3. As you probably know, JSP 1.2 includes additional support for custom tag development. Unfortunately, JDev 9.0.3 keeps hanging repeatedly when trying to work with a custom tag library. I have seen a couple other postings on this forum that indicate the fact that I'm not alone in this experience.
    It seems that I am able to open a taglib and make a modification, and then save the taglib without a problem. However, if I attempt to make any further changes to that taglib again without restarting JDev, it just hangs JDev and I have to kill the JDev process and restart JDev. This has made JDev extremely frustrating and unusable developing custom tags. I do not have this problem with JDev 9.0.2, but that version does not support the additionally tag library functionality of JSP 1.2, which is supported by 9.0.3.
    Is this a bug with 9.0.3? Does anyone know of a workaround I can try?
    Thanks in advance,
    Kyle Corley

    Hi,
    Logged as bug 2725712.
    Thanks,
    Brian
    JDev Team

  • JDev903 custom tag (bug?)-JDev Team please respond

    JDeveloper is continually hanging while working with custom tags. For example, I will select Add Tag and nothing will happen and JDeveloper stops responding. If I go to End Task, I am told that JDeveloper is waiting for a response, but by then JDev is just a gray window. This behavior becomes more frequent after a change, i.e. change a tag name, try to delete a tag or library. In fact, I have had to completely start over in the creation of a tag library when I notice a necessary change within a tag due to the hanging and disappearance of menu items. Please see previous post, Re: 10.1.3.1 xpath-functions.xml
    Please look into this issue. Our team feels that custom tags could be a valuable tool, but we are RAPID and we don't have time to constantly shut-down and restart our IDE.
    Thanks,
    Deb

    David,
    One thing to try would be JPublisher from the command line. If your problem persists with JPublisher from the command line, then the bug needs to be filed against that product. If not, then the problem is with us.
    In either case, please post your code so we can try to reproduce the error.
    The JPublisher command line facility is documented in the JPublisher User's Guide, available from the Oracle8i 8.1.6 documentation pages on OTN.
    Thanks!

  • JSP Compilation Problems With JSTL tags

    My JSP worked well when I used JSP expressions, scriptlets, .... I tried to use JSTL instead and encountered some compilation problems. I am unable to see my mistakes and need help:
    Problme #1:
    int offset = 0;
    try
       <c:set var="offset" value="${requestScope.offset}" />
    catch ( Exception e )
        // do nothing
    }The above code has two compilation errors:
    Generated servlet error:
    [javac] Compiling 1 source file
    illegal start of expression
    <c:set var="offset" value="${requestScope.offset}" />
    ^
    Generated servlet error:
    ';' expected
    <c:set var="offset" value="${requestScope.offset}" />
    ^
    Problem #2:
    <c:set var="threadBean" value="${requestScope.ThreadBean}" />
    int threadID_int = ParamUtil.getParameterInt( request, "thread" );
    <c:if test="${threadBean.threadID} != threadID_int">
        throw new AssertionException( "The two threadID are not the same." );
    </c:if>Generated servlet error:
    illegal start of expression
    <c:if test="${threadBean.threadID != threadID_int}">
    ^

    I have deleted the Java code around the JSTL tags. Now, what is wrong with this <c:if test=" ... "> tag? It seems that I have problems to get JSTL tags right.
    It seems that I have problems to get JSTL tags right....
    <c:if test="${attachBean.attachMimeType.startsWith('image/')}">
         <html:img page="getattachment?attach=<c:out value='${attachBean.attachID}' />" alt="<c:out value='${attachBean.attachFilename}' />" title="<c:out value='${attachBean.attachFilename}' />" border="0" />
    </c:if>error message:
    74: tag = 'if' / attribute = 'test': An error occurred while parsing custom action attribute "test" with value "${attachBean.attachMimeType.startsWith('image/')}": Encountered "(", expected one of ["}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||"]

Maybe you are looking for