CF Custom Tag to generate dataset

The tag below saves a lot of time waiting around for the xml
file to load..
<!---
File: makedataset.cfm
Description: Custom Tag to create a spry dataset from a Cold
Fusion query based on the example at
http://labs.adobe.com/wiki/index.php/Spry:JsDataset
Author: Edward Borland
Created: Monday, 19 June 2006
<cf_makedataset query="get_contacts"
datasetname="dsContacts" sortfield="firstname">
--->
<script>
<cfoutput>var #attributes.datasetname# = new
Spry.Data.DataSet({ sortOnLoad: "#attributes.sortfield#"
});</cfoutput>
// Create the rows of our data set.
var rowData = [<cfoutput
query="caller.#attributes.query#">
{<cfloop list="#columnlist#" index="thiscol"><cfif
listfind(columnlist,thiscol) GT 1>,</cfif>#thiscol#:
"#Evaluate(thiscol)#"</cfloop>}<cfif currentrow NEQ
recordcount>,</cfif></cfoutput>
// Set the data in the data set equal to the rows we just
created.
<cfoutput>#attributes.datasetname#.data = rowData;
#attributes.datasetname#.dataHash = [];
// Now run through each row and add a ds_RowID, and add the
row
// to our data hash. The key to the hash should be the
ds_RowID
// for the row.
for (var i = 0; i < rowData.length; i++)
rowData
["ds_RowID"] = "ROWID-" + i;
#attributes.datasetname#.dataHash[rowData["ds_RowID"]] =
rowData
#attributes.datasetname#.loadData();</cfoutput>
</script>

Below is an example of using the tag and the code it
replaced..
<!---
<script type="text/javascript">
<!--
var dsContacts = new
Spry.Data.XMLDataSet("issues.cfc?method=getContacts",
"contacts/contact");
-->
</script>
--->
<cfquery name="get_contacts"
datasource="#application.dsn#">
SELECT id,firstname,lastname,email,phone1,mobile,company
FROM contacts
ORDER BY Firstname, Lastname</cfquery>
<cf_makedataset query="get_contacts"
datasetname="dsContacts" sortfield="firstname">

Similar Messages

  • Generate & using Javascript in custom Tag

    Hi everyone,
    I'm developing a custom tag to create a treeview from a TreeModel.
    I've got a script found on the web which uses a few javascripts file.
    My question is :
    How do i have to use my javascripts file ?
    Do i have to just import the javascipt files in my project ? (i.e. in a directory called "scripts"). Or do the javascripts have to be only available for my tag.
    Of course, the javascripts for the tag should only be used by the tag.
    So, if anyone can give my what's the best practice.
    Thank's
    Sebastien Degardin

    Javascript runs only on the client.
    So the javascript file needs to be on your web server, and your jsp page needs to import that script using the <script> tag.
    It doesn't necessarily need to be in your java project, as it is not needed at compile time. Consider it a static resource like an image or a .html file.
    Basically your JSP is then just generating javascript code that will run on the client.

  • Ho wto get a Custom Tag generate other Tags?

    Hi Folks,
    I need your help with this issue. I have a Tag A:X which needs to generate some code containing another tag A:Y. How do I get the container to also evaluate A:Y?
    The long version of the problem. I have a web page that uses the tag A:X which is a custom tag. When executed, this custom tag needs to go through a bunch of other HTML page segments and find the right one, say Page 25. Once it finds this page 25, it has to output the code of page 25 in place of A:X. Yet, Page 25 itself also contains JSP tags. So, somehow, I need to tell the container to reevaluate the code produced by A:X.
    Normally, the handler of tag A:X could behave like the container and invoke A:Y's handler in the following way:
    AYTag tag = new AYTag();
    tag.setPageContext(...);
    tag.setParent(...);
    tag.setAttribute1(value1);
    tag.setAttribute2(value2);
    tag.doStartTag();
    tag.doEndTag();
    tag.release();I, however don't feel like it is a good decision. This is the job of the container and I don't want to have it done in a tag handler. Worst, I might have problem later on, if new pages come (similar to Page 25) that use other tags with different set of attributes.
    Any help is very much welcome.
    Thanks,
    Klaus.

    Note that I've also posted a question to the SiteMesh user forums about this. It has more information about the motivation of this question.
    See http://forums.opensymphony.com/thread.jspa?threadID=8561
    I'm still looking for an answer, though.
    --matthew                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • 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 in included JSP page cause exception (WLS 5.1 SP 9)

              An application use custom tags (JSP Tag extensions) in JSP page
              included into another JSP page by means <jsp:include> instruction.
              After we had installed Service Pack 9 for Weblogic 5.1
              browser's call of including JSP began show an error.
              When I remove Weblogic510sp9.jar and Weblogic510sp9boot.jar
              references from startWebLogic.cmd, the error diagnostic disappear.
              Is Service Pack Number 9 wrong?
              ==========================
              Web browser diagnostic:
              Error 500--Internal Server Error
              From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
              10.5.1 500 Internal Server Error
              The server encountered an unexpected condition which prevented it from fulfilling
              the request.
              ==========================
              Console diagnostic:
              Tue Jun 05 17:40:14 MSD 2001:<I> <WebAppServletContext-dscat> looking for taglib
              uri /exttags.tld as resource /WEB-INF/e
              xttags.tld in Web Application root:
              Tue Jun 05 17:40:15 MSD 2001:<I> <WebAppServletContext-dscat> Generated java file:
              C:\weblogic\dscat\WEB-INF\_tmp_war_ds
              cat\jsp_servlet\_jsp\_opos\_catalog.java
              Tue Jun 05 17:40:25 MSD 2001:<E> <WebAppServletContext-dscat> Servlet failed with
              Exception
              java.lang.VerifyError: (class: jsp_servlet/_jsp/_opos/_catalog, method: _jspService
              signature: (Ljavax/servlet/http/Http
              ServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Register 12 contains
              wrong type
              at java.lang.Class.newInstance0(Native Method)
              at java.lang.Class.newInstance(Unknown Source)
              at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:469)
              at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java,
              Compiled Code)
              at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:442)
              at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:228)
              at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:200)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:115)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
              at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
              at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
              at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
              at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
              ==========================
              Including JSP file:
              <%@ include file="catalog_real.jsp" %>
              ==========================
              Included JSP file:
              <%@ taglib uri="/exttags.tld" prefix="dscat" %>
              <dscat:pageheader>Catalog header</dscat:pageheader>
              ==========================
              Tag extansions library (WEB-INF/exttags.tld file):
              <?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>dscat</shortname>
              <tag>
              <name>pageheader</name>
              <tagclass>ru.ibs.xbcat.view.tag.PageHeader</tagclass>
              </tag>
              </taglib>
              ==========================
              Class PageHeader:
              package ru.ibs.xbcat.view.tag;
              import java.io.*;
              import javax.servlet.jsp.*;
              import javax.servlet.jsp.tagext.*;
              public class PageHeader extends BodyTagSupport {
              public int doStartTag() throws javax.servlet.jsp.JspException {
              return BodyTag.EVAL_BODY_TAG;
              public int doAfterBody() throws javax.servlet.jsp.JspException {
              return(SKIP_BODY);
              

              Are you using Jikes? See if this helps ...
              http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=article&group=weblogic.developer.interest.jsp&item=6287&utag=
              Mike
              "Radik Usmanov" <[email protected]> wrote:
              >
              >An application use custom tags (JSP Tag extensions) in JSP page
              >included into another JSP page by means <jsp:include> instruction.
              >
              >After we had installed Service Pack 9 for Weblogic 5.1
              >browser's call of including JSP began show an error.
              >When I remove Weblogic510sp9.jar and Weblogic510sp9boot.jar
              >references from startWebLogic.cmd, the error diagnostic disappear.
              >
              >Is Service Pack Number 9 wrong?
              >==========================
              >Web browser diagnostic:
              >
              >Error 500--Internal Server Error
              >From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
              >10.5.1 500 Internal Server Error
              >The server encountered an unexpected condition which prevented it from
              >fulfilling
              >the request.
              >
              >==========================
              >Console diagnostic:
              >
              >Tue Jun 05 17:40:14 MSD 2001:<I> <WebAppServletContext-dscat> looking
              >for taglib
              >uri /exttags.tld as resource /WEB-INF/e
              >xttags.tld in Web Application root:
              >Tue Jun 05 17:40:15 MSD 2001:<I> <WebAppServletContext-dscat> Generated
              >java file:
              >C:\weblogic\dscat\WEB-INF\_tmp_war_ds
              >cat\jsp_servlet\_jsp\_opos\_catalog.java
              >Tue Jun 05 17:40:25 MSD 2001:<E> <WebAppServletContext-dscat> Servlet
              >failed with
              >Exception
              >java.lang.VerifyError: (class: jsp_servlet/_jsp/_opos/_catalog, method:
              >_jspService
              >signature: (Ljavax/servlet/http/Http
              >ServletRequest;Ljavax/servlet/http/HttpServletResponse;)V) Register 12
              >contains
              >wrong type
              > at java.lang.Class.newInstance0(Native Method)
              > at java.lang.Class.newInstance(Unknown Source)
              > at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:469)
              > at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java,
              >Compiled Code)
              > at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:442)
              > at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:228)
              > at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:200)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:115)
              > at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:138)
              > at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915)
              > at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879)
              > at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269)
              > at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365)
              > at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
              >Code)
              >
              >==========================
              >Including JSP file:
              >...
              > <%@ include file="catalog_real.jsp" %>
              >...
              >
              >==========================
              >Included JSP file:
              >...
              > <%@ taglib uri="/exttags.tld" prefix="dscat" %>
              >...
              ><dscat:pageheader>Catalog header</dscat:pageheader>
              >...
              >==========================
              >Tag extansions library (WEB-INF/exttags.tld file):
              >
              ><?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>dscat</shortname>
              >
              > <tag>
              > <name>pageheader</name>
              > <tagclass>ru.ibs.xbcat.view.tag.PageHeader</tagclass>
              > </tag>
              >
              ></taglib>
              >==========================
              >Class PageHeader:
              >
              >package ru.ibs.xbcat.view.tag;
              >
              >import java.io.*;
              >import javax.servlet.jsp.*;
              >import javax.servlet.jsp.tagext.*;
              >
              >public class PageHeader extends BodyTagSupport {
              >
              > public int doStartTag() throws javax.servlet.jsp.JspException {
              > return BodyTag.EVAL_BODY_TAG;
              > }
              >
              > public int doAfterBody() throws javax.servlet.jsp.JspException {
              > ...
              > return(SKIP_BODY);
              > }
              >}
              >
              

  • SAP CRM custom tags in MS Word

    Hi
    When working with MS Word templates functionality in Attachments assignment block and generating a word document pressing "with template" button we can use BADI CRM_OFFICE_TEMPLATE_BADI to transfer custom tags inside the template. But is it possible to use those custom tags transferred in formulas inside the template? I mean the formula "If" from the menu Insert->Quick parts->Field->If ? Otherwise, is there any solution to use the tags in any formulas inside the template?
    Regards,
    Aliaksei

    Actually it's based on past productive experience of using complicated word templates that I'm basing my answer.  My collegaue who had calcuated field requirements did not use formulas in our more complex word templates and instead we performed the calculation in CRM instead.  Oh BTW, I'm actually not an SAP Employee by any means, but a customer of SAP instead.  We had been using word templates productively on our 7.0 installation for at least four years.  When we had to migrate the work to EHP1 system with the new content controls, there were many bugs in the standard delivered solution include problems when macros existed in the document that were released by notes by SAP.
    Take care,
    Stephen

  • Custom tag for Marquee in JSF

    Hi,
    I am trying to develop a custom tag for Marquee in JSF, my usecase is to display a value from managed bean(Dynamically). please find the code below and guide me where i have made mistake
    regards
    Sandeep
    Component class:
    package customtags;
    import javax.el.ValueExpression;
    import javax.faces.component.UIComponentBase;
    import javax.faces.context.FacesContext;
    public class Marquee extends UIComponentBase {
         public static final String COMPONENT_TYPE = "marqueecomp";
         public static final String RENDERER_TYPE = "marqueeRenderer";
         private Object[] _state = null;
         private String value;
         public String getValue() {
              if (null != this.value) {
                   return this.value;
              ValueExpression _ve = getValueExpression("value");
              return (_ve != null) ? (String) _ve.getValue(getFacesContext()
                        .getELContext()) : null;
         public void setValue(String marquee) {
              this.value = marquee;
         public String getFamily() {
              // TODO Auto-generated method stub
              return COMPONENT_TYPE;
    //     public void encodeBegin(FacesContext context) throws IOException {
    //          ResponseWriter writer = context.getResponseWriter();
    //          writer.startElement("marquee", this);
    //          writer.write(getValue());
    //          writer.endElement("marquee");
         public void restoreState(FacesContext context, Object state) {
              this._state = (Object[]) _state;
              super.restoreState(_context, this._state[0]);
              value = (String) this._state[1];
         public Object saveState(FacesContext _context) {
              if (_state == null) {
                   _state = new Object[2];
              state[0] = super.saveState(context);
              _state[1] = value;
              return _state;
    Tag Class:
    package customtags;
    import javax.el.ValueExpression;
    import javax.faces.component.UIComponent;
    import javax.faces.webapp.UIComponentELTag;
    public class MarqueeTag extends UIComponentELTag {
         protected ValueExpression marquee;
         public String getComponentType() {
              // TODO Auto-generated method stub
              return Marquee.COMPONENT_TYPE;
         public String getRendererType() {
              // TODO Auto-generated method stub
              return Marquee.RENDERER_TYPE;
         * protected void setProperties(UIComponent component) {
         * super.setProperties(component); Marquee marqComp = (Marquee) component;
         * if (marquee != null) { marqComp.setValue(marquee); } }
         protected void setProperties(UIComponent component) {
              super.setProperties(component);
              Marquee marqComp = null;
              try {
                   marqComp = (Marquee) component;
              } catch (ClassCastException cce) {
                   throw new IllegalStateException(
                             "Component "
                                       + component.toString()
                                       + " not expected type. Expected: com.foo.Foo. Perhaps you're missing a tag?");
              if (marquee != null) {
                   //marqComp.setValueExpression("value", marquee);
                   marqComp.setValue("fsdfsdfsdfsdfsd");
         * @return the marquee
         public ValueExpression getMarquee() {
              return marquee;
         * @param marquee
         * the marquee to set
         public void setMarquee(ValueExpression marquee) {
              this.marquee = marquee;
    *.tld file*
    <?xml version="1.0" encoding="UTF-8"?>
    <taglib xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
         version="2.1">
         <tlib-version>1.0</tlib-version>
         <short-name>marqueecomp</short-name>
         <uri>http://tags.org/marquee</uri>
         <tag>
              <name>marqueeTag</name>
    <tag-class>customtags.MarqueeTag</tag-class>
    <body-content>empty</body-content>
    <attribute>
    <description><![CDATA[Your description here]]></description>
    <name>id</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
    <description><![CDATA[Your description here]]></description>
    <name>value</name>
    </attribute>
         </tag>
    </taglib>
    Renderer class:
    package customtags;
    import java.io.IOException;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.context.ResponseWriter;
    import javax.faces.render.Renderer;
    public class MarqueeRenderer extends Renderer {
         public void encodeBegin(final FacesContext facesContext,
    final UIComponent component) throws IOException {
    super.encodeBegin(facesContext, component);
    final ResponseWriter writer = facesContext.getResponseWriter();
    writer.startElement("DIV", component);
    /*String styleClass =
    (String)attributes.get(Shuffler.STYLECLASS_ATTRIBUTE_KEY);
    writer.writeAttribute("class", styleClass, null);*/
    public void encodeEnd(final FacesContext facesContext,
    final UIComponent component) throws IOException {
    final ResponseWriter writer = facesContext.getResponseWriter();
    writer.endElement("DIV");
    in Faces-Config:
    <component>
              <display-name>marqueecomp</display-name>
              <component-type>marqueecomp</component-type>
              <component-class>customtags.Marquee</component-class>
              <component-extension>
    <renderer-type>marqueeRenderer</renderer-type>
    </component-extension>
         </component>
         <render-kit>
    <renderer>
    <component-family>marqueecomp</component-family>
    <renderer-type>marqueeRenderer</renderer-type>
    <renderer-class>customtags.MarqueeRenderer</renderer-class>
    </renderer>
    </render-kit>
    In class path --->marquee.taglib.xml
    <?xml version="1.0"?>
    <!DOCTYPE facelet-taglib PUBLIC
    "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
    "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
    <facelet-taglib>
    <namespace>http://tags.org/marquee</namespace>
    <tag>
    <tag-name>marqueeTag</tag-name>
    <component>
    <component-type>marqueecomp</component-type>
    <renderer-type>marqueeRenderer</renderer-type>
    </component>
    </tag>
    </facelet-taglib>
    *.xhtml file*
    <html xmlns="http://www.w3.org/1999/xhtml"
         xmlns:ui="http://java.sun.com/jsf/facelets"
         xmlns:h="http://java.sun.com/jsf/html"
         xmlns:f="http://java.sun.com/jsf/core" xml:lang="en" lang="en"
         xmlns:a4j="http://richfaces.org/a4j"
         xmlns:rich="http://richfaces.org/rich" xmlns:mycomp="http://tags.org/marquee">
    <head>
    <title>DEBTDOC Home Page</title>
    <meta http-equiv="keywords" content="enter,your,keywords,here" />
    <meta http-equiv="description"
         content="A short description of this page." />
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="../css/common.css"></link>
    <script language="javascript" src="../script/common.js"></script>
    </head>
    <body>
    <f:view>
    <mycomp:marqueeTag value="hello World"></mycomp:marqueeTag>

    There exist the JSTL SQL taglib, but I don't recommend this. It should only be used for quick development and testing. For database connectivity, rather create a data layer with DAO classes which you on its turn just plug in your business layer (with servlets).

  • Custom Tag in race condition with OC4J v9.0.2.0.0...

    Hello all,
    (I tried deploying my application with OC4J 9.0.3 but none of my existing
    tags worked)
    I developed a OC4J web application implementing my own tag library extension
    and found out that there was occurring a race condition to the fact that two
    users (different sessions) where accessing the same
    tag at the same time. In the offending tag implementation I only have
    instance members and not static which could also cause a
    concurrent access problem.
    I found that OC4J was reusing concurrently the same
    Tag instance when it should not do that!!!
    public class pagesIteratorTag extends BodyTagSupport {
    // only instance class members...
    public void doInitBody() throws JspException {
    System.out.println("pageSetIteratorTag::doInitBody - Tag instance value: " + this.toString() + " for user: " + this.pageContext.getSession().getAttribute("j_username"));
    public int doAfterBody() throws JspException {           
    System.out.println("pageSetIteratorTag::doAfterBody - Tag instance value: " + this.toString() + " for user: " + this.pageContext.getSession().getAttribute("j_username"));
    Note the pagesIteratorTag@2e same instance is used when it should not
    1 because the tag instance should be protected from multiple concurrent
    access even though it can be pooled and reused if it is free.
    pageSetIteratorTag::doInitBody - Tag instance value: com.kdlabs.fogal.tagext.pagesIteratorTag@2e for user: Frank
    pageSetIteratorTag::doAfterBody - Tag instance value: com.kdlabs.fogal.tagext.pagesIteratorTag@2e for user: Frank
    pageSetIteratorTag::doInitBody - Tag instance value: com.kdlabs.fogal.tagext.pagesIteratorTag@2e for user: Giovanni
    pageSetIteratorTag::doAfterBody - Tag instance value: com.kdlabs.fogal.tagext.pagesIteratorTag@2e for user: Giovanni
    pageSetIteratorTag::doInitBody - Tag instance value: com.kdlabs.fogal.tagext.pagesIteratorTag@2e for user: Giovanni
    pageSetIteratorTag::doAfterBody - Tag instance value: com.kdlabs.fogal.tagext.pagesIteratorTag@2e for user: Giovanni
    Session for user Frank throws a null pointer exception because Giovanni's session
    started accessing the variable.
    Can anyone advise please?
    Best Regards,
    Giovanni

    First of all, you said none of your tags worked in 9.0.3. What happened? Did you do any debugging of the problem?
    Comparing the "toString()" output of your tag does not guarantee they are the same instance. That is just the output of "hashcode()", not the "pointer" to the object. The hashcode is generated from the contents of the object, not its "identity".
    I suggest you track the NPE in the debugger and get more information before you assume the container is at fault (which is still an outside possibility). SDK API Javadoc
    Object class:
    The general contract of hashCode is:
    1-. Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
    So, the toString() is properly returning the suffix of the object instance
    number unique for that instance and is then being reused by OC4J even though
    it is being accessed from another session thread, that must not happen and it
    is not compliant with the JSP spec.
    The other history is that when I implemented my custom tags OC4J was JSP 1.1 compliant
    and not 1.2, so after moving to 1.2 the scripting variables can be defined in XML and
    by subclassing TagInfo class, the last option doesn't work with OC4J 9.0.3, not good...
    Thanks for your help,
    I will keep trying to figure out what the problem migth be,
    Best Regards,
    Giovanni

  • Custom Tag -- Custom Component problems with iframes

    I have a "project" component that originally iterated over a list of models and created/renderered the corresponding (and fairly complex) interactive UI components for those models. On the client-side, the output from these were then organized neatly into "tabs" via CSS ... all on one page. Since these UI Components are so hefty, when any iteraction was done on one of them, the whole page had to re-render and things got just plain slow. To get around this limitation, I decided to have my "project" component no longer create the UI components himself, but instead generate an IFRAME that points to a page that will generate a single component. This way, any iteraction will just cause that single IFRAME to refresh.
    Due to the fact that an IFRAME can only be populated by using the src attribute, I have created a page that contains a JSF View (<faces:view>) and inside is a single custom tag of mine (<mine:displayView>). Let's call this page singleDisplayView.jsf. I create iframes that point to singleDisplayView.jsf with different request params for each (singleDisplayView.jsf?modelName=Foo, singleDisplayView.jsf?modelName=Bar, etc.)
    The displayView tag has one attribute called requestQueryString and I use the tag like so:
    <t:displayView requestQueryString="<%=request.getQueryString()%>" />The displayView tag's class is DisplayViewTag. In DisplayViewTag::setProperties(UIComponent uiComponent) method, I get the model name out of the request map and set this property on the UIComponent.
    The problem is that I'm noticing that as the main page (that contains these frames) loads, setProperties() is only being called twice. After that, the components created by subsequent iframes just seem to be using the modelName from the second frame.
    Is there a syncronization issue I don't understand?
    Any ideas?
    Any help would be much appreciated.
    Thanks in advance,
    Mark

    On a possibly related note, I read this in an article of the JSF application lifecycle:
    In the first phase of the JSF lifecycle -- restore view -- a request comes
    through the FacesServlet controller. The controller examines the request and
    extracts the view ID, which is determined by the name of the JSP page.Could it be that the lifecycle is trying to reuse components from a single view, since all these iframes are pointing to the same page?

  • Custom Tag Error with Weblogic SP9

              Hi
              I seem to be having a problem with a custom tag that I wrote. When I run the JSP
              on WLS (without a service pack), the generated java code uses the weblogic.utils.StringUtils
              class to interprete jsp expressions that are passed into the custom tag's attribute
              (on the JSP). The method called on this StringUtils class is valueOf(). This method
              in essence makes sure that the result of the expression is not null and then subsequently
              calls a toString() on the value. Note that if the value is null it simply returns
              an empty string.
              The problem is that when we go to service pack 9, this method is not called (StringUtils.valueOf()).
              Now the problem arises if first of all the result of the expression statement
              in the custom tag definintion (on the JSP) is null. Secondly, it will also error
              out when the setter method is called within the custom tag, if the object returned
              from the expression does not match the one that is expected by the tag... in our
              case a String.
              Here's a sample usage of the tag:
              <wescombop:selectTag
              selectName="buildingNumber"
              selectedItem="<%= buildingJB.getBuildingNumber()%>"
              trimSelectedItem="true"
              selectTagDataName="buildingNumberDataAttribute" />
              Note: buildingJB.getBuildingNumber() returns BigDecimal
              Here's a snipett of the line generated java:
              * Without the service pack
              comwestfieldgrp_wescom_bop_view_tag_SelectTag_1.setSelectedItem(weblogic.utils.StringUtils.valueOf(buildingJB.getBuildingNumber()));
              *With Service Pack 9
              comwestfieldgrp_wescom_bop_view_tag_SelectTag_1.setSelectedItem(buildingJB.getBuildingNumber());
              Note: The setSelectedItem() method expects a String object as a parameter, so
              the code with service pack 9 will result in a compilation error, since buildingJB.getBuildingNumber()
              returns a BigDecimal.
              Let me know if you need more explanation.
              Has anyone experience this problem before... Any help would be deeply appreciated.
              Thanks all.
              Niran
              

              Modify the <cewolf:param> tag.
              <cewolf:chart id="confchart" title="Reports" type="bar3d" yaxislabel="Time"> <cewolf:data>
              <cewolf:producer id="report"> <cewolf:param name="type" value="all" > </cewolf:param>
              </cewolf:producer> </cewolf:data> </cewolf:chart>
              "Balakrishnan" <[email protected]> wrote:
              >
              >We are using cewolf charting library in weblogic 7.0. The charting library
              >is implemented
              >as custom jsp tag library module.
              >
              >However, when the use the tag for displaying the chart, weblogic is producing
              >this compiler error.
              >
              >/reports/reportsView.jsp(108): no corresponding open tag for tag extension
              >close:
              >//[ null; Line: 108]
              >
              >Here's the corresponding source of the jsp file:
              >
              > <cewolf:chart id="confchart" title="Reports" type="bar3d" yaxislabel="Time">
              > <cewolf:data>
              > <cewolf:producer id="report">
              > <cewolf:param name="type" value="all" /> (<-- Error occurs
              >here.
              >Line no: 108)
              > </cewolf:producer>
              > </cewolf:data>
              > </cewolf:chart>
              >
              >I've also checked the corresponding tld file and it is in place.
              >
              >The same code without any modifications is working fine in tomcat. Can
              >you please
              >let me know what needs to be corrected to make this work?
              

  • Custom tag attribute case insensitive??

    We ran in to an interesting "feature" of custom tags: The attributes in the
              tags seem to be case insensitive.
              For example, if you play with the "tagext/quote" example provided with the
              WebLogic server installation, you can change the line in showcode.jsp to be
              like:
              <quote:code quoteColor="blue" COMMENTCOLOR="purple"
              defaultFont="face=Helvetica color=gray">
              and the generated java servlet code will still call the "setCommentColor()"
              method in the CodeTag class. Almost like it searches for a matching
              "attribute" in the .tld file and uses it. If you put multiple entries in
              the .tld file for different cases, it still picks the first one it finds and
              ignores the case differences.
              The J2EE/JSP spec indicates that custom tags are case sensitive, I assumed
              that is supposed to include their attributes.
              It bit us because we want to have attributes which differ by case only
              (don't ask).
              -Greg
              Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
              www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
              

    I had the same problem in a design a couple of months ago and could not get around it so I switched the functionality into code and out of the tag lib.
    I take it you are trying to do something like this?
    <%
    String value="hiworld";
    %>
    <mytaglib:saysomething value="<%=value%>"/>

  • Taglib problem: Cannot parse custom tag with short name table

    Hello!
    I am having problems deploying a jsp tag in web as. The same war file works fine on websphere, jboss. SAP web as seems to be complaining about the short name in the tld.
    Can any body me to any known web as issues with jsp tags?
    Thanks
    [code]
    Application error occurs during processing the request.
    Details: com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: Internal error while parsing JSP page /usr/sap/J2E/JC00/j2ee/cluster/server0/apps/sap.com/dispear/servlet_jsp/disp/root/test.jsp.
         at com.sap.engine.services.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:85)
         at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.getClassName(JSPServlet.java:207)
         at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.compileAndGetClassName(JSPServlet.java:369)
         at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:164)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:385)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
    Caused by: com.sap.engine.services.servlets_jsp.lib.jspparser.exceptions.JspParseException: Cannot parse custom tag with short name table.
         at com.sap.engine.services.servlets_jsp.lib.jspparser.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:129)
         at com.sap.engine.services.servlets_jsp.lib.jspparser.syntax.ElementCollection.action(ElementCollection.java:52)
         at com.sap.engine.services.servlets_jsp.server.jsp.JSPParser.initParser(JSPParser.java:307)
         at com.sap.engine.services.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:74)
         ... 18 more
    Caused by: com.sap.engine.services.servlets_jsp.lib.jspparser.exceptions.JspParseException: Unknown class name java.lang.Object.
         at com.sap.engine.services.servlets_jsp.lib.jspparser.taglib.TagBeginGenerator.convertString(TagBeginGenerator.java:365)
         at com.sap.engine.services.servlets_jsp.lib.jspparser.taglib.TagBeginGenerator.generateSetters(TagBeginGenerator.java:187)
         at com.sap.engine.services.servlets_jsp.lib.jspparser.taglib.TagBeginGenerator.generateServiceMethodStatements(TagBeginGenerator.java:212)
         at com.sap.engine.services.servlets_jsp.lib.jspparser.taglib.TagBeginGenerator.generate(TagBeginGenerator.java:269)
         at com.sap.engine.services.servlets_jsp.lib.jspparser.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:127)
         ... 21 more
    [/code]

    Hi Ray,
    I am facing similar kind of issue.
    Can you please help to resolve it?
    Thanks in advance.
    Logs are as below [Here I am using standard tag lib]::
    Caused by: com.sap.engine.services.servlets_jsp.jspparser_api.exception.JspParseException: Cannot parse custom tag with short name [out].
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:183)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:59)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.JspIncludeDirective.action(JspIncludeDirective.java:51)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:59)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.JspElement.customTagAction(JspElement.java:994)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.JspElement.action(JspElement.java:228)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:59)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:69)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.GenerateJavaFile.generateJavaFile(GenerateJavaFile.java:72)
         at com.sap.engine.services.servlets_jsp.server.jsp.JSPProcessor.parse(JSPProcessor.java:270)
         at com.sap.engine.services.servlets_jsp.server.jsp.JSPProcessor.generateJavaFile(JSPProcessor.java:194)
         at com.sap.engine.services.servlets_jsp.server.jsp.JSPProcessor.parse(JSPProcessor.java:126)
         at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.getClassName(JSPChecker.java:319)
         at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.compileAndGetClassName(JSPChecker.java:248)
         at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.getClassNameForProduction(JSPChecker.java:178)
         at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.processJSPRequest(JSPChecker.java:109)
         at com.sap.engine.services.servlets_jsp.jspparser_api.JspParser.generateJspClass(JspParser.java:154)
         at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:193)
         ... 47 more
    Caused by: com.sap.engine.services.servlets_jsp.jspparser_api.exception.JspParseException: Attribute [value] of [<c:out>] can accept only static values.
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.calculateAttributeValue(TagBeginGenerator.java:476)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.generateSetters(TagBeginGenerator.java:394)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.generateServiceMethodStatements(TagBeginGenerator.java:562)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.generate(TagBeginGenerator.java:678)
         at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:181)
         ... 64 more
    Regards,
    Sankalp

  • .exception.JspParseExcept Cannot parse custom tag with short name [out].

    Hi
         I have almost migrated an application from jboss to CE 7.1 sp3 maxdb 32 bit
         however I am getting the following error on c:out tag of standard jslt.
    Runtime error in processing of the JSP file [C:\usr\sap\CE1\J00\j2ee\cluster\apps\<....>\servlet_jsp\<application_context_name>\root\jsp\view\<jsp_name>.jsp].
    Line:----
    The error is: com.sap.engine.services.servlets_jsp.jspparser_api.exception.JspParseException: Cannot parse custom tag with short name [out].02004C4F4F50001F0000002D000012B000B0688132009833
    Line:----
    Do anybody have some idea why is it happening.
    My guess would be because of jslt version mismatch. but its working fine in jboss. I am not sure what version cE 7.1 support may be 1.2. any idea how to chek the supported version in the server.
    The jsp code is something like
    Line:----
    <code>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="c_rt" uri="http://java.sun.com/jstl/core_rt" %>
    <c:url var="thumbnailStream" value="/do/<action_tag>">
               <c_rt:param name="stream_id"      value="<%= <variable1> %>"/>
               <c:param    name="stream_id_type" value="<variable2>"/>
               <c:param    name="content_kind"   value="<variable3>"/>
            </c:url>
    <img border="0" src="<c:out value="$"/>">
    </code>
    Line:----
      from the SAP help text its said that jslt is being overrided by server to use from global library rather than local webapplication library. Couls woud explain where is this global library located in the server directory.
    Thx.
    Ashutosh

    Hi are you able to solve this issue.I am getting similar kind of issue.
    Logs for the same are ::
    Caused by: com.sap.engine.services.servlets_jsp.jspparser_api.exception.JspParseException: Cannot parse custom tag with short name out.
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:183)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:59)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.JspIncludeDirective.action(JspIncludeDirective.java:51)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:59)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.JspElement.customTagAction(JspElement.java:994)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.JspElement.action(JspElement.java:228)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:59)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.ElementCollection.action(ElementCollection.java:69)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.GenerateJavaFile.generateJavaFile(GenerateJavaFile.java:72)
    at com.sap.engine.services.servlets_jsp.server.jsp.JSPProcessor.parse(JSPProcessor.java:270)
    at com.sap.engine.services.servlets_jsp.server.jsp.JSPProcessor.generateJavaFile(JSPProcessor.java:194)
    at com.sap.engine.services.servlets_jsp.server.jsp.JSPProcessor.parse(JSPProcessor.java:126)
    at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.getClassName(JSPChecker.java:319)
    at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.compileAndGetClassName(JSPChecker.java:248)
    at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.getClassNameForProduction(JSPChecker.java:178)
    at com.sap.engine.services.servlets_jsp.jspparser_api.JSPChecker.processJSPRequest(JSPChecker.java:109)
    at com.sap.engine.services.servlets_jsp.jspparser_api.JspParser.generateJspClass(JspParser.java:154)
    at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:193)
    ... 47 more
    Caused by: com.sap.engine.services.servlets_jsp.jspparser_api.exception.JspParseException: Attribute value of <c:out> can accept only static values.
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.calculateAttributeValue(TagBeginGenerator.java:476)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.generateSetters(TagBeginGenerator.java:394)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.generateServiceMethodStatements(TagBeginGenerator.java:562)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.taglib.TagBeginGenerator.generate(TagBeginGenerator.java:678)
    at com.sap.engine.services.servlets_jsp.jspparser_api.jspparser.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:181)
    ... 64 more

  • Custom Tag with script in attribute.

    Hi,
              I use a custom tag in which an attribute is generated dynamicly.But it
              doesn't work.
              Here is the sample:
              <tlt:MyTag MyAttr="<%= "abc"%>" />
              the result is MyTag doesn't work correctly but output <tlt:MyTag
              MyAttr="abc" /> in the browser source file.My server is wls5.1 sp6.
              Can I use this approach?
              Pan
              

    Pan YangBin wrote:
              >
              > Hi,
              > I use a custom tag in which an attribute is generated dynamicly.But it
              > doesn't work.
              >
              > Here is the sample:
              > <tlt:MyTag MyAttr="<%= "abc"%>" />
              That's because the value of MyAttr attribute is included in the same
              quotes as the value of the expression. Change the line to:
              <tlt:MyTag MyAttr='<%= "abc"%>' />
              and it should do the trick.
              >
              > the result is MyTag doesn't work correctly but output <tlt:MyTag
              > MyAttr="abc" /> in the browser source file.My server is wls5.1 sp6.
              Oh, I see. You didn't specify that the page uses the Tag Library which
              is done by
              <%@ taglib uri="/uri_to_your_TLD" prefix="tlt" %>
              Another mistake is that the name of the "MyAttr" attribute begins with
              the uppercase letter, so at the end the page compilation will result
              with an error saying that appropriate attribute won't be found or so.
              Change the name of "MyAttr" to "myAttr" or whatever you like, but it
              must start with the lowercase letter.
              Take a look at JavaServer Pages specification available at
              http://java.sun.com/products/jsp. There you can find loads of answers,
              esp. a chapter about Tag Extenstions.
              > Pan
              Jacek Laskowski
              HP Consulting
              

  • Event handling in zranges custom tag

    Hi,
        I am using the tutorials  by Thomas Jung on the ranges. I am faces a very strange problem.   I have created that extension. My application framework is like bsp_model application.  I have one main controller and two sub controller. when ever I chose  any option,
    An event is generated and do_Handle_event of main controller is called but ideally the do_handle_event of right controller  should be called .Any Explanation about this behavior.
    regards
    Ashish

    Hi Dezso,
    > <i>the event handler of the main controller is always called</i>
    As far as I know the Do_Handle_Event is called only for the controller in which event has been triggered it may be any sub-controllor or main controllor.
    You are right that we dispatch the event through calling method Dispatch_input( ) in the Do_Request( ) method of main controller.  Dispatch_Input do the followings...
    1. First it calls Do_Handle_Data of sub-controllor's in the same order as they are instansiated in the main controllor and then finally Do_Handle_Data of main controllor is called.
    2. Now Do_Handle_Event is called only for the controllor where event is triggered.
    3 Now Do_Finish_Input is called in same sequence as  Do_Handle_Data .
    Correct me if I am wrong somewhare till now.
    Now let me explaine my problem in detail...
    I am using custom tag zranges in a view which is registered to a sub-controllor, I want to trap the event triggered when any option is selected but I am unable to do that. Please suggest me some solution to this prblem.
    Thanks and Regards,
    Ashish

Maybe you are looking for

  • How do I reset the number of plays in my iTunes library to the accurate count?

    The songs in my iTunes have an extremely large number of plays.  The number of plays is nowhere close to being accurate.  I want to reset to the accurate count.  I do not want to start at zero.  Can someone solve this problem?

  • Adding a new field in Pricing

    Hi, this is he requirement for ISU non energy price which is maintained in SD . the requirement is as follow 1     Need to add a new field for special type of customer PSR..which is not available in standard sap. 2    I need to detrmine pricing custo

  • DMS Download a file

    Hi I have a very straightforward question: If I  download a document from the DMS  to my desktop, does the DMS  send the document directly to me, or does the document first "travel" to sap application server and from there to my desktop? Thanks Yuval

  • Using Powerpoint in Microsoft Word- trying to inset music to slide

    3. To insert a sound from another location, click Sound from File, locate the folder that contains the sound, and then double-click the sound you want. A sound icon appears on the slide. This is the instruction in the help Menu. I choose Insert-Movie

  • Error when clicking on refresh all button in excell add in

    Hi All One of our users is facing an issue when clicked on the refresh all button on excel. Below is the error she is getting. "Request Definition has been changed on server since last download. Please use edit Prompts and levels to select new filter