Optional attributes in Tag file

Hi,
New to tag files here...
Let's say I have an optional attribute defined in a tag file:
<%@ attribute name="width" required="false" %>
<table width="${width}">
</table>
How do I detect in the tag file whether that parameter is passed in or not? I want to be able to use a default value for width (say 60%) if it's not passed in, but use the value passed in if provided.
Thanks,
Eric.

<c:if test="${empty width}">
  <c:set var="width" value="60%"/>
</c:if>Or something like that...

Similar Messages

  • 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?

  • 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

  • How to evaluate a bean property passed as attribute to a tag file?

    I wrote the following tag file:
    <%@ tag body-content="empty" %>
    <%@ attribute name="domain" required="true" %>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <select>
         <jsp:useBean id="codeManagerBean" class="blabla.CodeManagerBean" />
         <c:set var="domainMethod">codeManagerBean.${domain}</c:set>
         <c:forEach var="code" items="${domainMethod}">
              <option value="${code.symbol}">${code.description}</option>
         </c:forEach>
    </select> What I would like is to call a property of CodeManagerBean whose name was passed as an attribute.
    Let's say this tag is used with the attribute domain="currencyCodes", the combo box should be filled with values from CodeManagerBean#getCurrencyCodes().
    The problem is that, in order to define the value of items in the forEach instruction, I declared the variable domainMethod. Now I would like items to evaluate the method (and thus return an iterator in this case), and not a String (what it currently does...).
    Any idea?
    Colargol

    Hi,
    a managed property only gives you a anlde to a bean or property, it doesn't execute it. To execute a bean, you can use a custom JSF PhaseListener that calls a bean method. The reference to the bean is achieve through value binding
    ValueBinding vb = FacesContect.getCurrentInstance().getApplication().createValueBinding("Name of Managed Bean);
    TypeOfBean theBean =(TypeOfBean) vb.getValue(FacesContext.getCurrentInstance());
    .... theBean.theMethod() ...
    Frank

  • JSP 2.0 Tag files outputting elements with conditional attributes

    It appears to be impossible to conditionally output element-attributes in JSP 2.0 XML Tag files. Here's an example:
    Tagfile text.tagx:
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2">
      <jsp:directive.attribute name="name" required="true" type="java.lang.String"/>
      <jsp:directive.attribute name="id" required="false" type="java.lang.String"/>
      <jsp:text>
        <input type="text" name="${name}" id="${id}" />
      </jsp:text>
    </jsp:root>Seems simple enough. This tag has a name-attribute and an optional id-attribute. But what if I want the id-attribute of the 'input' element not to be outputted when the id-parameter is empty!
    It appears there's no elegant way to do this but to revert to CDATA blocks and/or output-escaping. Is this an oversight in the API or am I missing something?
    I've also tried the following but it didn't work (in Tomcat anyway):
    <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:text>
        <jsp:element name="input">
          <jsp:attribute name="type" value="text"/>
          <jsp:attribute name="name" value="${name}"/>
          <c:if test="${!empty id}">
            <jsp:body>
              <jsp:attribute name="id" value="${id}"/>
            </jsp:body>
          </c:if>
        </jsp:element>
      </jsp:text>
    </jsp:root>Any ideas on how to do this?

    I wonder why no one has responded to this post!!!! I am trying to do the same thing, to no avial. In XSLT this is how it works, I would have thought JSTL would do the same thing. D'oh!

  • Class as an attribute name in JSP tag file

    I just ran into an issue where I was writing a custom tag to generate a specific set of HTML elements, and wanted to be able to use CSS the same way I had before refactoring it into a tag. So, I included 'class' as an attribute in the custom tag file and deployed.
    On Glassfish v3, this generated a bunch of JasperExceptions in the Javac compilation, complaining about <identifier> expected and reaching the end of file while parsing. I tracked it down, of course, to the use of 'class' as an attribute name, which was reduced to a servlet class defining:
    public String getClass() {
       return this.class;
    public void setClass(String class) {
       this.class = class;
    }I'm curious -- which part of the process messed up here? Is "class" a valid identifier under the Java EE spec, and the translation should have used something like setClass_(String class_)? Or is it invalid, and Netbeans didn't know to mark it as an error before it tried to deploy? (And, of course, that I missed that in the spec, making it my fault.) I couldn't find anything specifically saying that reserved words couldn't be used as JSTL identifiers, so my gut is that the parser messed up. Also, I found a bug report about it for an alternate web container, but no mention of it in the bug trackers for Glassfish, Tomcat or Jasper.
    Where's the blame?

    stdunbar wrote:
    I think that Netbeans messed up. getClass() is, of course, defined on Object and class is a Java keyword.What's to stop the compiler from recognizing that "class" would be a problem and mapping it to an alternate name behind the scenes?
    This is the only documentation I turned up. Maybe this says it's invalid:
    Java EE SpecThe unique name of the attribute being declared. A translation error results if more than one attribute directive appears in the same translation unit with the same name.A translation error results if the value of a name attribute of an attribute directive is equal to the value of the dynamic-attributes attribute of a tag directive or the value of a name-given attribute of a variable directive.

  • [svn:fx-trunk] 7671: The SWF metadata tag has optional attributes widthPercent and heightPercent .

    Revision: 7671
    Author:   [email protected]
    Date:     2009-06-09 07:31:19 -0700 (Tue, 09 Jun 2009)
    Log Message:
    The SWF metadata tag has optional attributes widthPercent and heightPercent.  The expected format is "[ws]double%[ws]". For example, [SWF (backgroundColor="#FFFFFF", widthPercent="92%", heightPercent="81%", frameRate="60" )].  Don't blindly strip off the last non-whitespace char and allow the % to be optional.
    QA Notes:
    Doc Notes:
    Bugs: SDK-21436
    Reviewers: Pete
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-21436
    Modified Paths:
        flex/sdk/trunk/modules/compiler/src/java/flex2/tools/oem/internal/OEMReport.java

  • 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.

  • 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

  • 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

  • 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

  • How useJsp 2.0 tag file in Weblogic 9.2

    I would like to use the JSP 2.0 tag file feature involving having a jsp fragment as an attribute.
    The example I have runs fine in Tomcat 6.0. And it runs fine in Weblogic 10.0 and 10.3 But when I run the same test on weblogic 9.2, I get the following error:
    Compilation of JSP File '/jsp/tagfile_hello_test.jspx' failed:
    tagfile_hello_test.jspx:19:8: This tag can only appear as a subelement of a standard or custom action. Exceptions are: jsp:body, jsp:attribute, jsp:expression, jsp:scriptlet, and jsp:declaration.
    <jsp:attribute name="footer">
    Below I show the output I get when running in Tomcat.
    Also below are the listing for the calling jsp page and the tag file page, tagfile_hello_test.jspx and tagfile_hello.tagx respectively.
    The burning question I am trying resolve is why does the example runs perfectly fine in Tomcat and Weblogic 10.0 and 10.3 but fails in Weblogic 9.2. Tag files are part of the JSP2.0 specification and Weblogic 9.2 implements the specification.
    Any help is greatly appreciated.
    Output from Tomcat and Weblogic 10.3:
    JSP 2.0 Examples Tag File
    This JSP page invokes a tag file that has a footer fragment
    Inside tagfile_hello
    Invoking footer: I am the footer
    Listing of tagfile_hello_test.jspx:
    <html xmlns:c="http://java.sun.com/jsp/jstl/core"
         xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
         xmlns:jsp="http://java.sun.com/JSP/Page"
         xmlns:tags="urn:jsptagdir:/WEB-INF/tags">
    <jsp:directive.page contentType="text/html" />
    <head>
    <title>Hi</title>
    </head>
    <body>
    <h1>JSP 2.0 Examples Tag File</h1>
    <hr/>
    <p>This JSP page invokes a tag file that has a footer fragment</p>
    <tags:tagfile_hello>
    <jsp:attribute name="footer">
                   <b>I am the footer</b>
    </jsp:attribute>
    </tags:tagfile_hello>
    </body>
    </html>
    Listing of tagfile_hello.tagx:
    <jsp:root
         xmlns:c="http://java.sun.com/jsp/jstl/core"
         xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
         xmlns:jsp="http://java.sun.com/JSP/Page"
         version="2.0"
    >
    <jsp:directive.attribute name="footer" required="true" fragment="true"/>
    Inside tagfile_hello
    Invoking footer:
    <jsp:invoke fragment="footer"/>
    </jsp:root>

    Yes John.. i am using startNodemanager.sh.
    Is this the change OutFile=$ServerDir/logs/$ServerName.out you are talking about.
    wlscontrol.sh file:
    # Directory and file names
    ServerDir=$DomainDir/servers/$ServerName
    SaltFile=$DomainDir/security/SerializedSystemIni.dat
    OldSaltFile=$DomainDir/SerializedSystemIni.dat
    StateFile=$ServerDir/data/nodemanager/$ServerName.state
    PropsFile=$ServerDir/data/nodemanager/startup.properties
    PidFile=$ServerDir/data/nodemanager/$ServerName.pid
    LockFile=$ServerDir/data/nodemanager/$ServerName.lck
    BootFile=$ServerDir/security/boot.properties
    RelBootFile=servers/$ServerName/security/boot.properties
    NMBootFile=$ServerDir/data/nodemanager/boot.properties
    RelNMBootFile=servers/$ServerName/data/nodemanager/boot.properties
    OutFile=$ServerDir/logs/$ServerName.out
    SetDomainEnvScript=$DomainDir/bin/setDomainEnv.sh
    StartWebLogicScript=$DomainDir/bin/startWebLogic.sh
    MigrationScriptDir=$DomainDir/bin/service_migration
    Thanks,
    Krish

  • Tag files, Lists, and object typing

    I'm passing a list of objects to a custom tag, created via a tag file.
    I can access object properties in the jsp page like this -
    <c:out value="${listOfItems[0].property}" />
    but inside the tag it doesn't work. It understands that its being passed a list and the number of items in the list but not the type of objects in the list. I think I need to declare the type of object that the list is returning but I'm unsure of th jstl way of doing this.
    advice?
    thanks

    JSTL uses introspection/reflection to call methods/access properties.
    It doesn't have to know the type of object in the list.
    How are you accessing this object in your tag file? Using EL again? That should work fine. If you use java/scriptlet code then you will need to cast the object.
    Have you declared the attribute that is being passed in? What type are you expecting? Default is String unless you specify otherwise.

  • Tag File with dynamic name

    I need to include a page with a name I do not know in advance. I can do this with <jsp:include page="${filename}"/>.
    Can I also do it somehow using tag files?

    Atul,
    Are u using mapping program in ur interface? If yes you can go ahead with ASMA + Dynamic Configurations for renaming the file.
    Have u tried this option?
    See the below Solution
    Check the ASMA File for both sender/receiver channels.
    Write the below code UDF in mapping program
    //Get Input date. Don't pass anything to this UDF except the Date.
    //Map the output to the root node of the target.
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","FileName");
    String fname = conf.get(key);
    String ret = fname"_"Date
    return "";
    raj.
    Edited by: Raj on Jan 23, 2008 4:09 PM

Maybe you are looking for

  • Solved: "Error in loading DLL" adding vb Reference to Photoshop CS5.1 (CS5.5)

    It took me a while to solve this so I thought I'd post the solution. On two machines (one 32-bit the other 64-bit) running the new Phonoshop CS5.1 that ships with CS5.5, I had trouble adding a reference in vb (vba) to the Photoshop Object Library for

  • CFP-Quad-510 velocity configure

    Is there a way to programmatically configure the timebase for the quadrature channels from within the LabVIEW environment? Ryan Vallieu Automation System Architect

  • Image loading problem with weblogic security page

    I developed an j2ee application on tomcat server. After successful working in tomcat I migrated to weblogic server. So problem is the application is working properly with out security in weblogic. Later security is added to the application, then the

  • Error provisioning role

    Hi all, I am getting the following error while provisioning the roles in AE. I checked the configurations and connectors everything is working fine with all other system. Only with this particular system i have the problem in provisioning the things.

  • ITunes Store in Lebanon

    Hey, When I choose Lebanon in the iTunes Store, there are only Apps. I can't find videos or songs to buy. Does this mean that I can't buy songs from the iTunes Store if I am in Lebanon? Or do I have to enter to the Store of the US to buy them? Thanks