Precompiling tag files

It is a fairly common approach to precompile all the jsp pages in your web application, and have it generate servlet and servlet-mapping entries for your web.xml file.
Is there a similar approach for tag files?
Something that would take a bunch of tag files, translate them, compile them, generate a tld and then bundle it all into a jar file for distribution.
The best solution I have come up with so far is to have a "compile-time" jar file which bundles the tag files, and a tld referencing them with <tag-file> entries.
When pre-compiling the jsps, I can include this in the path, and it will translate/compile the tag files on demand along with the jsp pages.
I'm just trying to go the next step further.
Has anybody tried (or even wanted to) do something like this?

It turns out I misunderstood the problem a little.
The tag files are only needed when you run the jsp compiler.
It never DOES generate a tld file.
The .tag files are not required at runtime - exactly like the jsps are not required at runtime.
With Tomcat at least, the compiled JSP includes the required generated classes from the .tag files.
So in effect there is no change from previous. You pre-compile your JSPs as usual, and it worries about picking up the tag files at that time.
In effect the .tag files are just an extra resource needed to precompile your page, and don't need to be passed further down the process.
At least thats what I remember of it.
hope this helps,
evnafets

Similar Messages

  • Ojspc (with JDeveloper 10.1.3.2.0) keeps recompiling .tag files.

    I find it takes an extremely long time to compile my web application with 75 .jsp files (14188 non-blank lines) and 24 .tag files (438 non-blank lines). About 24 minutes, in fact. I attribute this to the utility insisting on recompiling each and every .tag file for every .jsp that uses them.
    During translation, I see the javac process start up several times, and I inspected the javacXXX temporary file that gets created (it stores the VM arguments for each compilation) whenever Oracle needs to compile a page. Now compilation is supposed to happen after translation, but it still happens repeatedly for the same .tag file. If the .tag file is used in each of the 75 .jsp files, then it gets compiled 75 times! I even tried adding the temporary directory where Oracle outputs its .class files for these .tag files to the compilation classpath, and it didn't have any effect.
    I also can't precompile the .tag files in an attempt to force it to use already compiled .tag files, as ojspc doesn't seem to want to translate/compile them on its own (but only as a result of a .jsp that needs them).
    Here are the options in my build.xml:
      <target name="ojspc">
        <path id="ojspc.classpath">
          <fileset dir="${source.web.path}/WEB-INF/lib">
            <include name="*.jar" />
          </fileset>
          <!-- The following is where the .tag files end up after being automatically translated,
               then compiled (even though the compiled versions are .class files and should go in
               oracle/generatedClass, below) -->
          <pathelement path="${build.root}/oracle/generatedJava" />
        </path>
        <property name="ojspc.classpath" refid="ojspc.classpath" />
        <mkdir dir="${build.root}/oracle" />
        <mkdir dir="${build.root}/oracle/generatedClass" />
        <mkdir dir="${build.root}/oracle/generatedJava" />
        <oracle:compileJsp verbose="true"
          appRoot="${build.webapp.path}"
          dir="${build.root}/oracle/generatedClass"
          srcDir="${build.root}/oracle/generatedJava"
          addClassPath="${ojspc.classpath}">
          <fileset dir="${build.webapp.path}">
            <include name="**/*.jsp" />
          </fileset>
        </oracle:compileJsp>
      </target>There's nothing particularly memorable about the ant output. Everything succeeds. But 24 minutes for 15k lines of JSP sounds pretty ridiculous... this whole endeavor was an attempt to reduce initial page hit lags after deployment, but ..... 24 minutes??? :)
    Thanks,
    Scott

    Marco,
    the bug is published and visible in Metalink.
    - Select "Document Id" in "Quick find"
    - enter the bug number: 4556035
    - click "Go"
    Bug 4556035 is fixed in JDeveloper 10.1.3.3
    It's also included in http://www.oracle.com/technology/products/jdev/htdocs/10.1.3.3/fixlist.htm
    Regards,
    Didier.

  • How to properly handle Exception thrown in a .tag file?

    I've got a .jsp file that makes use of some custom tags, each defined in their own .tag file, and located in WEB-INF/tags. I'm having a lot of trouble with the scenario of cleanly dealing with an exception raised by scriptlets in either a .jsp file, and a .tag file. I'm using both Java and Tomcat 6....
    Originally, I wanted to use .tag files in order to componentize common elements that were present in .jsp pages, as well as move ugly scriptlets out of .jsp pages, and isolate them in tag files with their associated page elements.
    Things started getting hairy when I started exploring what happens when an exception is thrown (bought not handled) in a scriptlet in a .tag file. Basically, my app is a servlet that forwards the user to various .jsp pages based on given request parameters. The forwarding to the relevant .jsp page is done by calls to the following method:
    servletContext.getRequestDispatcher("/" + pageName).forward(request, response);
    Where 'pageName' is a String with the name of the .jsp I want to go to...
    Calls to this method are enclosed in a try block, as it throws both a ServletException, and IOException...
    When either my .jsp, or .tag throw an exception in a scriptlet, the exception is wrapped in a JSPException, which is then wrapped in a ServletException.
    I can catch this exception in my servlet... but then what? I want to forward to an error page, however, in the catch block, I can't forward in response to this exception, as that results in an IllegalStateException, as the response has already been committed. So what do I do? How do I get from this point, to my "error.jsp" page?
    It was suggested to me that I use the <% @ page isErrorPage="true" %> directive in my error.jsp,
    and the in my real .jsp, use <%page errorPage="/error.jsp" %>.
    This works great when the exception is thrown in my .jsp.... But when the exception is thrown in the .tag file... not so much...
    My .jsp page was rendered up until the point where the <my:mytag/> (the tag with the offending raised exception) was encountered. Then, instead of forwarding to the error page when the error in the tag is encountered, the error page is rendered as the CONTENT of of my TAG. The rest of the .jsp is then NEVER rendered. I checked the page source, and there is no markup from the original .jsp that lay below the my tag. So this doesn't work at all. I don't want to render the error page WITHIN the half of the .jsp that did render... Why doesn't it take me away from the .jsp with the offending tag altogether and bring me to the error.jsp?
    Then it was suggested to me that I get rid of those page directives, and instead define error handling in the web.xml using the following construct:
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error</location>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <location>/error</location>
    </error-page>
    For this, I created a new servlet called ErrorServlet, and mapped it to /error
    Now I could mangle the end of the URL, which causes a 404, and I get redirected to the ErrorServlet. Yay.
    However, exceptions being thrown in either a .jsp or .tag still don't direct me to the ErrorServlet. Apparently this error handling mechanism doesn't work for .jsp pages reached via servletContext.getRequestDispatcher("/" + pageName).forward(request, response) ????
    So I'm just at a total loss now. I know the short answer is "don't throw exceptions in a .jsp or .tag" but frankly, that seems a pretty weak answer that doesn't really address my problem... I mean, it would really be nice to have some kind of exception handler for runtime exceptions thrown in a scriptlet in .tag file, that allows me to forward to a page with detailed stacktrace output, etc, if anything for debugging purposes during development...
    If anyone has a few cents to spare on this, I'd be ever so grateful..
    Thanks!!
    Jeff

    What causes the exception?
    What sort of exception are you raising from the tag files?
    Have you got an example of a tag file that you can share, and a jsp that invokes it so people can duplicate the issue without thinking too much / spending too much time?
    My first instinct would be that the buffer is being flushed, and response committed before your Exception is raised.
    What you describe is pretty much standard functionality for Tomcat in such cases.

  • Issue with project having Tag File containing definition of other Tag File

    Hi Everyone,
    I have a small problem which you experts are able to help with.
    As the subject of this Post has suggested, I have a project which was originally built in NetBean 6.0 and I'm trying to migrate it across to JDeveloper 10.1.3. So far, I've managed to compiled all jsps and java source files successfully but I'm now stuck with the following error messages during building of the project in JDeveloper:
    --- START OF ERROR ---
    Error(6): Unable to instantiate tag: menu:tab (class: oracle.jsp._tag._tabmenu._tab_tag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(6): Unable to find class for bean: null defined by tag with class: oracle.jsp._tag._tabmenu._tab_tag
    --- END OF ERROR ---
    I believe the reason was that I have this Tag file (menu.tag) that contains definitions and references to another Tag file and here is its content:
    --- START OF TAG FILE ---
    <%@ taglib prefix="menu" tagdir="/WEB-INF/tags/tabmenu" %>
    <%@ attribute name="tab" required="true" type="java.lang.String" %>
    <jsp:useBean id="login" class="au.wa.apa.webbeans.WrsLogin" scope="session" />
    <div id="menu">
    <ul>
    <menu:tab tab="NEW" currentTab="<%=tab%>" label="New Query" tooltip="Create New Query" url="aq/adv_new_query.wrs?formMode=new"/>
    <menu:tab tab="OPEN" currentTab="<%=tab%>" label="Open Queries" tooltip="View Open/Active Queries" url="aq/adv_queries_list.wrs?view=OPEN"/>
    <menu:tab tab="CLOSED" currentTab="<%=tab%>" label="Closed Queries" tooltip="View Closed Queries" url="aq/adv_queries_list.wrs?view=CLOSED"/>
    <menu:tab tab="SEARCH" currentTab="<%=tab%>" label="Search" tooltip="Search Query" url="aq/adv_queries_search.wrs?view=OPEN"/>
    <% if (!"STAFF".equals(login.getUserType())) { %>           
    <menu:tab tab="ATTN" currentTab="<%=tab%>" label="Attention Of" tooltip="Attention Of Administration" url="aq/adv_query_attention_of_list.wrs"/>
    <% } else { %>
    <menu:tab tab="TEMP" currentTab="<%=tab%>" label="Templates" tooltip="Template Management" url="aq/adv_query_template_list.wrs"/>
    <% } %>
    </ul>
    <div class="clear"></div>
    </div>
    --- END OF TAG FILE ---
    I've this problem for several days now and have not been able to solve it and I hope you are able to help me with this problem. Thank you for time and assistance and have a nice day.
    Kind Regards,
    John

    Hi Guys,
    Do we have any workaround to this problem? Any feedback will be welcomed.
    Thanks and Regards,
    John

  • Tag files cannot be used in tag files?

    Hello,
    Is it possible to invoke tag file from other tag file in the project? Is it allowed by spec?
    1. Create empty project with JDeveloper.
    2. Create tag file tagFile1.tag using wizard.
    3. Create tag file tagFile2.tag using wizard.
    4. Drag TagFile2 tag from toolbar to tagFile1.tag in editor pane.
    tagFile1.tag is:
    <%@ taglib tagdir="/WEB-INF/tags/" prefix="tags"%>
    <%@ tag pageEncoding="UTF-8"%>
    <tags:tagFile2/>
    tagFile2.tag is:
    <%@ tag pageEncoding="UTF-8"%>
    5. Try to rebuild the project - compilation fails
    Error(3): Unable to instantiate tag: tags:tagFile2 (class: oracle.jsp._tag._tagFile2_tag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(3): Unable to find class for bean: null defined by tag with class: oracle.jsp._tag._tagFile2_tag
    Is it a bug of JDeveloper or OC4J or am I duing something against the spec?

    Was this issue resolved? I have getting the same error message with my custom JSP tags. It worked when I use JDev 9.0.5 but not when I moved it over to JDev 10.1.3.1
    Error(87): Unable to instantiate tag: app:checkPermissions (class: pathname.CheckPermissionsTag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(87): Unable to find class for bean: null defined by tag with class: pathname.CheckPermissionsTag

  • BUG OJVM does not work with tag files

    Hello,
    A.
    1. Create tag file
    2. Create JSP that uses tag file <x:xy />
    3. Deploy to OC4J 10.1.3.2.
    4. Start OC4J.
    4. Access JSP - OK.
    B.
    1. Create tag file
    2. Create JSP that uses tag file <x:xy />
    3. Deploy to OC4J 10.1.3.2.
    4. Start OC4J with OJVM.
    4. Access JSP - OK.
    C.
    1. Create tag file
    2. Create JSP that uses tag file <x:xy> </x:xy>
    3. Deploy to OC4J 10.1.3.2.
    4. Start OC4J with OJVM.
    4. Error - the JSP cannot be displayed. No message.

    user519938,
    Am I missing something?
    B and C look identical to me.
    A and D also look identical to me.
    By the way, can you not count above 4?
    Good Luck,
    Avi.

  • Spec oversight? Using dynamic-attributes in XML tag files

    I have a couple of tagfiles that generate form elements with specific conventions for the 'name' and 'value' attribute. Basically, a data binding framework.
    Dynamic attributes are useful because you can delegate all the usual html attributes to the generated HTML form element: SELECT, INPUT, id, class etc.
    The usual way to do this is to concatenate all the "pass-through" attributes to a string, and append this string to the element generated:
    <input type="hidden" name="foo" ${dynattrs}/>I'm wondering how to do this in a tagfile in XML format (mytag.tagx), since the XML format forbids syntax like in the example above.
    jsp:attribute won't help much, if it's nested inside a c:forEach: it won't apply to the right element.

    Ran into the same problem with 'optional attributes'. (see post "JSP 2.0 Tag files outputting elements with conditional attributes" http://forum.java.sun.com/thread.jspa?forumID=45&threadID=681033)
    Found a solution that is not very elegant but does work and saves you the trouble of reverting to Java Tags. Consider the following tag-file that outputs an html input-tag with conditional attributes:
    <?xml version="1.0" encoding="utf-8"?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
         xmlns:c="http://java.sun.com/jsp/jstl/core">
         <jsp:directive.attribute name="name" required="true" type="java.lang.String"/>
         <jsp:directive.attribute name="id" required="false" type="java.lang.String"/>
         <jsp:directive.attribute name="value" required="false" type="java.lang.String"/>
         <jsp:directive.attribute name="disabled" required="false" type="java.lang.Boolean"/>
         <jsp:directive.attribute name="hint" required="false" type="java.lang.String"/>
         <jsp:directive.attribute name="cssClass" required="false" type="java.lang.String"/>
         <jsp:text><![CDATA[<input type="text" name="]]><c:out value="${name}"/><![CDATA["]]></jsp:text>
         <c:if test="${!empty id}"><![CDATA[ id="]]><c:out value="${id}"/><![CDATA["]]></c:if>
         <c:if test="${!empty cssClass}"><![CDATA[ class="]]><c:out value="${disabled?(cssClass + '-disabled'):cssClass}"/><![CDATA["]]></c:if>
         <c:if test="${disabled}"><![CDATA[ disabled="disabled"]]></c:if>
         <c:choose>
              <c:when test="${!empty value}"><![CDATA[ value="]]><c:out value="${value}"/><![CDATA["]]></c:when>
              <c:when test="${!empty hint}"><![CDATA[ value="]]><c:out value="${hint}"/><![CDATA[" onfocus="if(this.value==']]><c:out value="${hint}"/><![CDATA[')this.value='';"]]></c:when>
         </c:choose>
         <jsp:text><![CDATA[/>]]></jsp:text>
    </jsp:root>In answer to your question: Yes, it looks like an oversight. Using the jsp:attribute tag in a c:forEach doesn't work because the attribute is then applied to the forEach tag. You would have to put the attribute-tag inside a jsp:body tag (inside the forEach). Then it would apply not to the forEach tag but to the tag enclosing the forEach. However, this doesn't work either, or at least it doesn't work in Tomcat 5.5. Could be a bug though, JSP 2.0 is still very buggy (for instance, using a tagfile inside another tagfile from the same taglib doesn't seem to work either...)
    Anyway, if you ever find a good solution please let me know by posting to this topic!
    TIA

  • Tag Files: dynamic attributes

    Hello,
    I'm not quite sure what the following quote means. It's from the JSP 2.0 spec.
    For dynamic-attributes attribute of Tag File:
    "Only dynamic attributes with no uri are to be present in the Map; all other dynamic attributes are ignored."

    Could someone help me here?

  • [svn] 4159: Enhancement SDK-18016 - updating mxmlc' s Embed functionality to recognize .pbj files as precompiled Shader files.

    Revision: 4159
    Author: [email protected]
    Date: 2008-11-21 13:06:29 -0800 (Fri, 21 Nov 2008)
    Log Message:
    Enhancement SDK-18016 - updating mxmlc's Embed functionality to recognize .pbj files as precompiled Shader files. This change still retains the old octet stream MIME type mapping to a ByteArray based class, but this change removes the hoop you have to jump through to embed a Shader. The new Embed usage should simply be as follows:
    [Embed(source="TubeView.pbj")]
    private var TubeViewClass:Class; //Subclass of flash.display.Shader
    Also updating Embed MIME types to recognize .dfont files since these are supported by CFFFontManager.
    Finally, updating FXG TextGraphic -> SymbolClass to use a simple FlexSprite instead of a Group. TextGraphic should now render at the right depth among SWF graphics primitives when compile time optimized FXG is used.
    QE: Yes
    Doc: If we've documented embedding .pbj, this is a simpler approach and represents a slight change in syntax.
    Checkintests: Pass
    Reviewer: Corey (Note he said he'll update ShaderFilter with a new property to accept a shader directly in a future check-in).
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-18016
    Modified Paths:
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/filters/ShaderFilter.as
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/as3/EmbedUtil.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/TextFXGGraphics.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/TextHelper.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/DataTranscoder.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/FontTranscoder.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/util/MimeMappings.java
    flex/sdk/trunk/modules/compiler/src/java/flex2/tools/WebTierAPI.java
    Added Paths:
    flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/media/PBJTranscoder.java

  • Tomcat 6.0.9 and jsf 1.2 and jstl 1.2 using *.tag file error

    I using :tomcat 6.0.9 and jsf 1.2 and jstl 1.2
    My web.xml is at version 2.5 and I am using a custom tag (with the .tag extension). I am trying to use the http://java.sun.com/jsf/html library and values from my attribute. I'm new to this so I figure I must just me missing something.
    I am run http://192.168.1.1/test.jsf laster,view:
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSP:
    Stacktrace:
         org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
         org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
         org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
         org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:212)
         org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:576)
         org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:50)
         org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:627)
         org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
         org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:631)
         org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
         org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
         org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
         org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
         org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
         org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:645)
         org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:190)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
         com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
         com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
         com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
         com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
         com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
         javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.9 logs.
    if go to /WEB-INF/tags/test.tag ,delete line: <h:outputText id="test" value="hello!" />
    run http://192.168.1.1/test.jsf is OK!(no error),So I guess error for "<h:outputText id="test" value="hello!" />" line ,why in test.tag file do can't use the "http://java.sun.com/jsf/html " library,please help me.......
    Here is file WEB-INF/web.xml content:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements. See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
    -->
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
    version="2.5">
    <display-name>Welcome to Tomcat</display-name>
    <description>
    Welcome to Tomcat
    </description>
    <!-- Faces Servlet -->
    <servlet>
         <servlet-name>Faces Servlet</servlet-name>
         <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
         <load-on-startup> 1 </load-on-startup>
    </servlet>
    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
         <servlet-name>Faces Servlet</servlet-name>
         <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    </web-app>
    Here is file /test.jsp code:
    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <f:view>
    <html>
    <head>
    <title>test</title>
    </head>
    <body>
    <!-- body start -->
    <h:outputText id="myinfo" value="test success" />
    <tags:test/>
    <!-- body end -->
    </body>
    </html>
    </f:view>
    Here is file /WEB-INF/tags/test.tag code:
    <%@tag pageEncoding="UTF-8"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <h:outputText id="test" value="hello!" />
    Thanks for any help.

    Don't know if it's important, but there is no schema avaiable at: http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd
    I found the right one at: http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
    /perty
    Message was edited by:
    perajonsson

  • How to skip validation for tag file, or jsp fragment?

    hi
    I have some jsp fragment and tag file in a workshop 10 project
    workshop blame me about the jsp fragment (no start/end tag)
    and unable to publish to server
    is there a way to skip validation on some files?
    I do found an check box call "validate JSP fragments" and I have un-ticked it. It does nothing.
    please help

    Yes, you can turn off validation either on project/folder/individual file.
    Project:
    Project > Properties - Validation AppXRay - un-check "Validate Workshop managed documents" (this is not recommended, you may loose entire AppXRay validation).Folder:
    Project > Properties - Validation AppXRay - Exclude Folders tab, if all the JSP fragments are present in a particular folder (under WebAppRoot), you can pick that folder to be excluded from AppXRay validationFile:
    Help > Help Contents - BEA Workshop User's Guide > Common IDE Tasks > "Using AppXRay" - Live Synchronization of artifacts with AppXRay - On this page scroll to the bottom you will find a table with list of comments that can be included in a JSP file to exclude file level validation.Ex:
    <%--<nitrox:set-property property="validation" value="true"/> --%>
    Controls all validation in the IDE. The default value of true enables validation.

  • Multiple function signatures in JSP custom tag file

    I'm writing a jsp .tag file and I've encountered the following problem. I have those two functions :
    private void iterateThroughChildElements(Element element)
         for (Iterator i = question.getElements().iterator(); i.hasNext(); )
              this.parseAndDisplay( (Element) i.next() );
    private void parseAndDisplay(Question question)
    private void parseAndDisplay(Answer question)
    (......)Both Answer and Question objects are elements but I get an error from the compiler which says that no correct signature was found for the parseAndDisplay function.
    What could be the problem ? Do I have to cast the objects according to a instanceof comparaison ??

    There was an error in my code, it is as follows :
    private void iterateThroughChildElements(Set elements)
         for (Iterator i = elements.iterator(); i.hasNext(); )
              this.parseAndDisplay( (Element) i.next() );
    }

  • Tag files for rendering JSF components

    Hi people!
         It is possible to render component JSF using Tag-Files? (WEB-INF/tags).
    I am having problems with context, seems that the JSF does not recognize pageContext.
    Ex:
    My Tag-File
    <%@ attribute name="nameproperty" required="true" rtexprvalue="true" %>
    <%@ attribute name="size"           required="true" rtexprvalue="true" %>
    <h:inputText id="${nameproperty}"      size="#{size}" />
    My JSP
    <%@ taglib tagdir="/WEB-INF/tags" prefix="mayTags"%>
    <f:subview id="id001" >
         <myTags:myText propriedade="name_test" size="30" />
    </f:subview>
    In this in case that the size always is empty, because it does not recognize the target pageContext, but if I to place the size in the target of request already recognizes.
    EX:
    <%@ attribute name="nameproperty"      required="true" rtexprvalue="true" %>
    <%@ attribute name="size"           required="true" rtexprvalue="true" %>
    <c:set var"size" value="${size}" scope="request" >
    <h:inputText id="${nameproperty}"      size="#{size}" />
    In part it decides my problem, but it causes another error, is that if in my JSP it will have two fields (this is more than common) calling tag-file, there the size placed in request is always of it I finish field.
    Ex:
    <%@ taglib tagdir="/WEB-INF/tags" prefix="mayTags"%>
    <f:subview id="paisMan" >
         <myTags:myText propriedade="name_test" size="30" />
         <myTags:myText propriedade="name_test_2" size="70" />
    </f:subview>
    In this case all the two inputText would have size 70.
    It has some thing that I can make to solve this problem?
    Thanks for any help.
    Pedro Neves - Brazil

    You are right in saying that decoding has nothing to
    do with rendering per se.I will go even further than Erik did, and dispute this statement.
    Consider that you are generating an <input> tag for a text field. Among other things, you have to generate a "name" attribute. Who decides what to put there? The renderer that actually created the markup.
    The "renderer" really does
    two completely different things. But both should
    nevertheless be separate from the component
    implementation itself. You could still have the
    renderer doing the decoding part, which arguably would
    rarely change, and somehow delegate the actual
    rendering to an implementation in a tag file.Whether you implement decoding in a separate class or inside the component, what request parameter name do you look for? It is not reasonable to assume that ALL possible renderers will choose the same parameter name ... hence, decoding and encoding are inextricably linked (the code doing the decoding has to know what kind of markup the code doing the encoding actually created). In JavaServer Faces, the current APIs create that linkage by requiring that the decode and encode be done by the same class (either the component, if you are not delegating, or the renderer if you are).
    Craig

  • .tagx Tag files in Weblogic 9.2

    Hi,
              We are trying to run one of our applications deploying it to a Weblogic Server 9.2. We are running into problems, as we use .tagx tag files and they do not seem to be recognized. Our .jsp page tries to invoke them as:
                        <%@ taglib tagdir="/WEB-INF/tags/taglibname/" prefix="taglibname" %>
              <taglibname:tag ...>...</taglibname:tag>
                                  We have XML tag files named /WEB-INF/tags/taglibname/tag.tagx files, but still we get:
                        javax.servlet.jsp.JspException: ServletException in '/WEB-INF/jsp/chains/index.jsp': Failed to compile JSP /WEB-INF/jsp/chains/index.jsp
              index.jsp:1:5: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file.
              <%@ taglib tagdir="/WEB-INF/tags/layout/" prefix="layout" %>
                  ^----^
                                  If we define a simple .tld file for the tag, the problem shifts, as the tagfile element for tlds does not allow defining attributes, and we zillions of "This attribute is not recognized." messages when trying to use the tags.
              Any ideas? Should we use .tag files instead of .tagx or...?
              Alex

    Hi,
              Does this happens if you invoke the tag from a .jspx page?
              I was under the heavy impression that .tagx were to be used by .jspx files, but maybe I am wrong.
              Regards,
              LG

  • WLS does not handle reusable jar with tag-files?

    I want to encapsulate some tag-files in a re-usable jar that can be included in multiple applications. According to all the documentation that I've found what I need to do is create a jar file containing:
    META-INF/taglib.tld
    META-INF/tags/myTag.tag
    where the taglib.tld contains (among other things):
    <uri>myTag</uri>
    <tag-file>
    <name>someName</name>
    <path>META-INF/tags/myTag.tag</path>
    </tag-file>
    Then I am supposed to take that jar file and put it in my web application under WEB-INF/lib,
    and in my index.jsp I can refer to <%@taglib prefix="myt" uri="myTag">
    However when I do this (on wls 12c) the application seems to deploy ok but when I try to access index.jsp I get:
    weblogic.servlet.jsp.CompilationException: Failed to compile JSP /index.jsp
    index.jsp:14:4: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file.
    <%@taglib prefix="tags" uri="myt" %>
    Related facts:
    1. When I deploy these projects in Glassfish it works . as I expected based on the documentation with no errors.
    2. If I copy the tag files and tld with no modification directly into the web application as:
    <my web app>/WEB-INF/taglib.tld
    and <my web app>/META-INF/tags/myTag.tag
    then it does work. However, that prevents me from packaging the tag-files as a re-usable jar.
    (Facts 1 & 2 seem to imply that the files are correct and that WebLogic is not handling the jar correctly?)
    3. I've seen suggestions that there needs to be a <taglib> entry in web.xml. I have tried this and...
    - the text I've seen on the web generates an error. It seems to need to be within a <jsp-config> entry in web.xml.
    - even with this I still get the same error.
    Does anyone have a suggestion for how to get Weblogic to handle tag-files inside a re-usable jar?
    Do you have an example jar you can point me to just to see that it works on my system?
    Is there some special configuration needed by Weblogic to tell it to handle this construct?
    And finally, the error message is saying that one of two things is wrong:
    Either:
    A) it cannot find the referenced taglib file, or
    B) the tld file failed to compile.
    Is there any way for me to find out which of these is happening? The error messages in WLS do not seem to give any more info, so I cannot easily distinguish between these possibilities.
    Thanks for your assistance.

    After 3 days of seeing this error, immediately after posting this request the problem disappeared. Sigh.
    So for now this problem is closed. If it comes back I'll re-post.

Maybe you are looking for

  • Connecting apple tv with optical audio cables

    I have a new apple tv and need to connect via dvi to hdmi on my tv. problem is the audio.  I am supposed to connect via option audio but don't know which cables to purchase and where it needs to be connected to FROM apple tv.

  • CLA Tags - will adding a '#' in front of the tag screw up Requirements Gateway tracking?

    I find it useful in the practice exams to add a '#' in front of the tag comment - eg. #[Covers: UI1] This adds the comment to the bookmarks list so I can easily see and jump to my tags later. Will adding the # upset the marking? Technically the comme

  • How to use iCal Server with clients?

    Ok, so since I can't find this anywhere... How do I use iCal Server with other desktop clients? I've selected the user, enabled calendaring, the user can authenticate in web-based group calendars. But then I'm stuck. How do I give them their own cale

  • Indesign from Illustrator Script

    I'd like to automatically open InDesign/InDesign script from an Illustrator script. There would be some arrays with data that will be passed on to the InDesign script for processing. I thought that involved #target indesign but that does not seem lik

  • How to make an standalone java application that uses mysql driver

    Hi, I have an application that makes connection to a mysql database, on my computer, I set on classpath the driver address, so everithing works fine. The problem is that I want to execute my application from other computers, where the classpath does