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

Similar Messages

  • Race conditions with UI thread

    Hi community,
    the update to LabVIEW 2014 has caused sveral of my vis to act up - vis that I had coded with race conditions with the UI thread that I was not aware of.
    Maybe they didn't exist previously, maybe I was just ignorant.
    Here is a where I first noticed something was wrong. It has a workaround inside:
    http://forums.ni.com/t5/LabVIEW/How-to-make-sure-plots-in-xy-graph-are-present/td-p/3033109
    Thanks again Norbert for your help with that.
    Now problems are showing up in other places too and it might be the tip of an iceberg. I'm a little afraid right now. It's not just xy graphs. The latest example:
    I have a sub-vi whose frontpanel I open with an invoke node inside that sub-vi. Afterwards, in the caller I register for events of frontpanel objects of the sub-vi. This fails now - apparently the fp of the sub-vi isn't open yet although the sub-vi has finished executing (yes, I use dataflow to ensure register for event is done only after the sub-vi has finished). This has a striking resemblance to my issue in the previous thread. It seems that vis can now be "finished" executing while stuff that was supposed to happen inside the sub-vi is still executing in the UI thread.
    I had not expected this.
    Is this intended behaviour?
    Is this new to LabVIEW 2014?
    Can someone please shed some light on this behavior change (if indeed it is one)?
    Can someone please advise me on a general solution/workaround for the host of problems this is causing me?
    Best regards
    Florian

    Norbert,
    I'm currently unable to reproduce the issue in my code regardless of cpu core affinity (you gotta hate random errors).
    I have attached an example that shows a simplified version of the code that has previously produced the error.
    This example might be flawed since it hasn't produced the error yet.
    The issue would show when the button "open window" is pressed, if it did at all.
    Also there is stuff in there that I just implemented in an attempt to keep the UI thread busy.
    For the core of the issue please disregard the bottom while loop in caller.vi
    I'll keep trying.
    Best regards
    Florian
    Attachments:
    subvi event registration.llb ‏56 KB

  • [svn:fx-trunk] 12795: Resolving race condition with interdependent Group properies alpha and blendMode .

    Revision: 12795
    Revision: 12795
    Author:   [email protected]
    Date:     2009-12-10 09:56:11 -0800 (Thu, 10 Dec 2009)
    Log Message:
    Resolving race condition with interdependent Group properies alpha and blendMode.
    QE notes: None
    Doc notes: None
    Bugs: SDK-24636
    Reviewer: Deepa
    Tests run: Checkin
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24636
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as

  • Race condition with Startup scripts and 2nd locally mounted hard drive?

    Hello,
    My main hard drive is a solid state drive that I have OS 10.6.6 installed on. I also have a secondary local drive that I have installed some applications to.
    When my system boots I have some scripts in /Library/StartupItems that run before any users log in. Some of the scripts attempt to launch applications that are stored on my second disk. I have discovered that when my StartupItems run, the second disk has not yet had the opportunity to mount! As a result, my scripts fail of course.
    I discovered this by adding the command "mount > /info.txt" to my startup scripts that were not working as expected.
    If I insert sleep statements in my scripts that buys them enough time to allow my second drive to mount before they actually perform their useful tasks.
    All of this being said can anyone advise what a more appropriate solution would be? Is there a way to arrange the OS mechanisms in a way that would cause all disks to mount before aany StartUp scripts are run?

    There are a couple of ways you can do this. The "right" approach is to use DiskArbitration, but that's not easy to do from a shell script. I'd suggest converting your job to launchd (StartupItems are deprecated). Check out Technical Note 2083 (http://developer.apple.com/library/mac/#technotes/tn2005/tn2083.html) for more information than you ever wanted on daemons and agents on Mac OS X.
    launchd can be a bit daunting if you've never used it before, but it offers a lot of flexibility -- in particular the StartOnMount key. Your job can be triggered whenever a new disk is mounted. From there you can check for the presence of your expected volume, and exit if it's not present. (There is a small race condition here: if the disk mounts after your check but before you exit, you could miss it and fail to run. Also, you may not be able to predict the mountpoint of your disk in certain cases. You might instead want to check that its UUID matches what you expect. You can process the output of diskutil(8) to get the volume UUID.)
    Check out the example property list at the bottom of launchd.plist(5). Give it a custom label, specify the path to your script in ProgramArguments, and replace the KeepAlive key with StartOnMount. Set permissions to something like 644 with ownership root:wheel, drop into /Library/LaunchDaemons, and you should be good to go on your next boot. (By convention, the file's name should be the same as your label followed by ".plist".)

  • EMET 5.0 Group Policy Settings Ignored (Probable race condition with Policy application)

    In our deployment, EMET 5 seems to be ignoring group policy settings from immediately after the first group policy refresh post-boot.
    Settings are being applied to the computer correctly, and are appearing in the registry correctly, and on boot, a set of Event ID 50 events are logged containing ConfigAppmitGPO (and similar for the other settings) elements with the correct settings.
    Upon the first group policy refresh, further eventID 50 events are logged, with empty ConfigAppmitGPO elements.
    Investigation with Process Monitor seems to indicate this is a race condition between Group Policy Registry settings being refreshed (which deletes the entries) and the EMET service reading out these settings from the registry (which appears to be triggered
    by Group Policy application or by a notification on the registry keys themselves)
    This is reproducible on Windows 7 and Windows 8.1.
    Is there any way to arrange for settings to be applied correctly at all times, or is this a bug that will need to be fixed in a future update?

    We're experiencing the exact same behavior currently. I was starting to think I was going crazy. Glad to know others are experiencing the same behavior.
    I've found that using the method from pervious versions to read and update settings from Group Policy, using "emet_conf.exe --refresh" still works, and upon every execution, the event log shows the GPO settings being read and applied. While I welcome the
    move to have EMET update from GPO settings without requiring running a separate task, as it stands now in its current condition, it is a step back.
    Scott Ladewig http://www.ladewig.com

  • Custom tags in jsp - problems with import in java pgm

    Hi,
    I am new to JSP and am facing some problems.
    I am trying to compile the foll. java program and it is giving an error saying 1."Package javax.servlet.jsp does not exist", 2."Package javax.servlet.jsp.tagext does not exist".
    I am using 1.j2sdk1.4.1_02, 2.j2sdkee1.3.1,and 3.Tomcat 4.1
    My java_home=C:\j2sdk1.4.1_02
    j2ee_home=C:\j2sdkee1.3.1
    path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\j2sdkee1.3.1\bin;c:\j2sdk1.4.1_02\bin;c:\j2sdkee1.3.1\doc\api;c:\jakarta-ant-1.5.1\bin
    classpath=c:\j2sdkee1.3.1\bin;c:\j2sdk1.4.1_02\bin;c:\j2sdkee1.3.1\doc\api
    can anybody help me with it?
    Regards,
    newtojsp
    import java.io.IOException;
    import java.util.Date;
    import doc.api.javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    public class TestTag extends TagSupport
         public int doStartTag () throws JSPTagException
              String dateString = new Date().toString ();
              try
                   JspWriter out = page.context.getOut ();
                   out.println ("Welcome to the Loan Dept" + " <br>");
                   out.println ("Today is:" + dateString + "<br>");
                   return SKIP_BODY;
              } catch (IOException ee)
                   throw JspTagException ("Error Encountered");
         public int doEndTag () throws JSPTagException
              return EVAL_PAGE;

    I got the solution for this.
    Thanks
    Newtojsp

  • For your reference: A real life AppleScript script regarding custom tags

    I'm working through a collection of photographs from iPhoto. One problem I have is that I have more than one set of the photographs and trying to eradicate duplicates and identify the true original images is rather difficult.
    One thing that can help is referring to the complete EXIF data from the image file. Unfortunately, Aperture doesn't give us the complete EXIF set, only a subset. In addition, Aperture doesn't allow us to see the File date/time; only the Image date/time.
    So I wrote this script. Before running the script, I batch renamed all of the images in my subject project using '<counter 4>—<Master Name>' to be sure that every image had a unique name. I then exported the masters from the subject project using '<Version Name>', the reason being that Aperture doesn't allow access to the file name via AppleScript. GraphicConverter will read the EXIF data from this exported set and the script will write most of the EXIF data back to the image in Aperture via custom tags.
    One caveat: Aperture is *slow*. It requires almost 4 seconds to write each custom tag. With 6000+ images in my subject project, this script will take a while to complete.
    The script:
    tell application "Aperture"
    activate
    tell project "untitled Project" of folder ""
    -- set theImages to every image version
    -- move through the images one by one, deleting and creating the appropriate
    -- custom tags from exif text obtained from exported versions via GraphicConverter.
    repeat with i from 1 to theImages's length
    tell theImages's item i
    -- tell image version id "++s5iIgRT1uKC8lrxd5bMg" -- test image
    delete (every custom tag whose name begins with "GC–")
    set exifdata to getEXIF(name) of me
    repeat with i from 1 to exifdata's length
    copy ("GC– " & exifdata's item i's first item) to tName
    copy (exifdata's item i's second item) to tValue
    make new custom tag with properties {name:tName, value:tValue}
    end repeat
    end tell
    end repeat
    end tell
    end tell
    return
    property exportedImagesFolder : alias "Bulbul:- exported from Aperture -:Canon IXUS 2:"
    property exifTagsToIgnore : {"Make", ¬
    "Model", ¬
    "Resolution unit", ¬
    "Y and C positioning", ¬
    "Exposure time", ¬
    "F number", ¬
    "Exif version", ¬
    "Meaning of each component", ¬
    "Shutter speed", ¬
    "Aperture", ¬
    "Exposure bias", ¬
    "Maximum lens aperture", ¬
    "Metering mode", ¬
    "Flash", ¬
    "Lens focal length", ¬
    "Unknown tag (1)", ¬
    "Owner Name", ¬
    "Color Space", ¬
    "Interoperability Index", ¬
    "Focal plane resolution unit", ¬
    "White balance", ¬
    "Resolution unit", ¬
    "Offset to JPEG SOI", ¬
    "Bytes of JPEG data"}
    to getEXIF(vName)
    copy alias ((exportedImagesFolder as string) & vName & ".jpg") to vFile
    tell application "GraphicConverter"
    copy (get file exif of vFile) to theEXIF
    end tell
    set AppleScript's text item delimiters to ","
    repeat with i from 1 to theEXIF's length
    set theEXIF's item i to ¬
    {text item 3 of theEXIF's item i, text from text item 4 to -1 of theEXIF's item i}
    end repeat
    set AppleScript's text item delimiters to ""
    set newEXIF to {}
    set fileDate to ""
    set imageDate to ""
    repeat with i from 1 to theEXIF's length
    copy theEXIF's item i's first item to tName
    if tName is not in exifTagsToIgnore and ¬
    tName does not start with "Unknown" then
    set end of newEXIF to theEXIF's item i
    if tName begins with "File date and time" then
    set fileDate to date (theEXIF's item i's second item)
    else if tName begins with "Date and time of original" then
    set imageDate to date (theEXIF's item i's second item)
    end if
    end if
    end repeat
    if fileDate is not "" and imageDate is not "" then
    if fileDate is less than (imageDate + 24 * 60 * 60) then
    set end of newEXIF to {"File & Image Same Date", "True"}
    else
    set end of newEXIF to {"File & Image Same Date", "False"}
    end if
    end if
    return newEXIF
    end getEXIF

    Correction 1:
    please uncomment the line near the top of the script that reads:
    -- set theImages to every image version
    Correction 2:
    writing the custom tags via AppleScript gets faster after Aperture's done it a few times.

  • Custom tag - unable to find setter method error

    I see this compileException on IAS but not on BEA app server and iWS.
    JSPProvider.processJSPFile(): jsp=searchContent.jsp, org.apache.jasper.compiler.CompileException
    Unable to find setter method for attribute: input
    The reason is because the custom tag has a setInput() that takes a String parameter while the getInput() returns an InputStream.
    Should both get and set methods have the same type of parameters or is this a due to a bug in the app server ?

    I see this compileException on IAS but not on BEA app
    server and iWS.
    JSPProvider.processJSPFile(): jsp=searchContent.jsp,
    org.apache.jasper.compiler.CompileException
    Unable to find setter method for attribute: input
    The reason is because the custom tag has a setInput()
    that takes a String parameter while the getInput()
    returns an InputStream.
    Should both get and set methods have the same type of
    parameters or is this a due to a bug in the app server
    I was only going off info from the original post. The error specifically states "Unable to find setter method for attribute: input" with a lower case i for the input attribute. You also specifcally stated "The reason is because the custom tag has a setInput()" with a capital I for the setInput method. This would most definitely cause the error you were receiving. That is unless you corrected this between your original post and your followup testing.
    Cliff

  • Custom tag with rendered attribute

    Is it possible to create a custom tag that operates similar to a JSF tag with the rendered attribute? Wrapping output with c:if test="..." is not as nice as the JSF rendered option, but I don't want to use JSF for this particular project.
    Edited by: black_lotus on Nov 23, 2007 12:13 PM

    TLD File, per your previous recommendation:
    <attribute>
         <name>disabled</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
    </attribute>My Tag class (snippet):
    public class ButtonTag extends TagSupport
      private boolean disabled;
      public ButtonTag() {}
      public boolean isDisabled()
         return disabled;
      public void setDisabled(boolean b)
        disabled = b;
    }A sample of the jsp file invoking it:
    <c:set var="result" value="${computedValue}"/>
    <ltm:button disabled="${result}"/>Regardless of the value of result, ("true" or "false") it always passes false to the setDisabled method of the button tag class.

  • Custom Tags starting with $: lots of problems

    I'm building an extension for MovableType template tags.
    Those tags can be delimited in several ways: <MTNameOfTheTag>
    or <$MTNameOfTheTag> or even <$MTNameOfTheTag$>. Since
    the dollar sign is not allowed as tag name, i put a
    prefix="&lt;$" in tag definition, but now i have some problems:
    1. even if in tag chooser i can see the dollar-prefixed tags,
    i cannot see them in code hints (I mean "automatic" code hints,
    those floating menus automatically made for every tag/every
    attribute/every enumerated attriboption in library).
    2. I tried to manually code tags in codehints.xml file with
    the "&lt;$ pattern (so i can change the icon associated to my
    custom tags, too. That's will be very elegant) but I loose "child"
    codehints menus: the first codehints menu (the one i manually made)
    comes up, but those for attributes and attributes values don't.
    3. With the solution in point 2 not only i loose "automatic"
    codehints, but i have to write THREE files for every tag
    (taglibrary, codehins, third party tags file). Lot of time :/
    4. Dollar signs, in both start and end, are NOT part of the
    name, but part of the tag, like a prefix or a suffix. With an
    attribute i should have:
    <$MTBlogName donald="goofie"$>
    and not:
    <$NTBlogName$ donald="goofie">
    as actually i have
    so, as i said...a lot of problems! i hope someone can help
    me...its really an hard sunday, today! :/
    tnx in advance

    I think you might be moving into creating your own server
    model.
    Just a thought.

  • Problem with optional attribute caching on a custom tag

    Hello,
    I've created a tag by extending TagSupport. I have one attribute that is optional. I'm having a problem with this attribute since the tag is cached. If the value is not specified in the tag, it is always using the previous value from the past request.
    I understand why this is happening, but I wonder if there is anyway to reset this value besides doing it at the end of the doStartTag or in the doEndTag methods? I simply want it to be an empty string if it is not in the request.
    Thanks,
    Tim

    Thats abit overkill in my opinion.Probably yes, but its a cleaner option. In case your doEndTag handles custom exceptions, you would anyhow need to put this code in a finally block, right ?
    public int doEndTag() throws JspException {
    try {
    call some methods that throws other checked exceptions;
    }catch(Exception1 e){
    throw JspException(e);
    }catch(Exception2 e){
    //log and ignore
    }finally{
    //clean up here
    return an int;
    Having said that, different containers implement the spec a bit differently. For example, in our project, we use weblogic and for wl, we put our clean up code in the release() method which according to the spec, needs to be called only before gc. Weblogic implementation is a bit different - its called after doEnd() for every use of the tag.
    This is from jsp spec regarding tag life cycle especially with reuse
    Some setters may be called again before a tag handler is reused. For
    instance, setParent() is called if it�s reused within the same page but at a dif-ferent
    level, setPageContext() is called if it�s used in another page, and
    attribute setters are called if the values differ or are expressed as request-time
    attribute values.
    �Check the TryCatchFinally interface for additional details related to exception handling and resource management.
    cheers,
    ram.
    }

  • Problem with custom tag attribute types

    Hi,
    I try to figure out how to pass an attribute to a custom tag that is of a type other than "String"?
    In my case, I should pass an attribute with a type of "java.util.ResourceBundle".
    My tag looks like this:
    <tt:cs sel="ab" ce="<%= java.util.ResourceBundle.getBundle("de", Application.getApp().getLocale())%>" />
    I always get the message that the attribute ce is empty.
    Isn't it possible to have attirbutes that are of an other type than string? How could I solve this problem?
    Thanks a lot!
    Regards Patrick

    In JSP 1.2, in the Tag Library Descriptor, you can specify a tagt attribute as
    <attribute>
       <name>attr1</name>
       <required>true|false|yes|no</required>
       <rtexprvalue>true|false|yes|no</rtexprvalue>
       <type>fully-qualified_type</type>
    </attribute> Notice the XML element <type>fully-qualified_type</type>
    Not sure if you can do this in JSP 1.1

  • 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 lib with output parameter

    Hi,
    I need a tag libray that gives me a specific element of a Vector.
    Here there is the line I have in my jsp.
    <ct:partizione tronco="${contenitoreCentralineTronco}" indice="index" partizione="tmpPartizione"/>
    ...-contenitoreCentralineTronco is an Object that contains a Vector of other specif objects.
    -indice is the vector index of the specif instance I need.
    -partizione should be the output instance.
    This is part of my tld file:
        <tag>
             <name>partizione</name>
            <tagclass>ss.aspi.classi.centraline.grafica.tagSupport.Partizione</tagclass>
            <bodycontent>empty</bodycontent>
            <info>Estrae una partizione da un vettore di partizioni dato l'indice</info>
            <attribute>
                <name>tronco</name>
                <required>true</required>
                <rtexprvalue>true</rtexprvalue>
            </attribute>
            <attribute>
                <name>indice</name>
                <required>true</required>
            </attribute>
            <attribute>
                <name>partizione</name>
                <required>false</required>
            </attribute>
         </tag>
    ...this is part of the class called by the tag:
         private ContenitoreTroncoBean tronco;
         private Integer indice;
         private ContenitorePartizioneBean partizione;
         public int doStartTag() throws JspException {
              try {
                   Vector<ContenitorePartizioneBean> partizioni = tronco.getPartizioniBean();
                   partizione = partizioni.get(indice);
              }catch (Exception e) {
                   log.error("Errore nell'estrazione della Partizione "+indice);
                   e.printStackTrace();
              return TagSupport.SKIP_BODY;
         //All getter and setter functionsWhen I run the application I get this exception:
    jsp.error.beans.property.conversion
    looking deeper in the class code jenerated from the jsp, I noted that the problem refers to the third attribute of the tag <ct:partizione>.
    It seems It trys to set the attribute "partizione" with the value "tmpPartizione", but partizioni should be an output attribut non input. The varible tmpPartizione doesn't exist... the tag should create it.
    I realized I didn't get how I should create a tag with output parameters.
    Anyone can explane me it?
    Thanks.

    One suggestion: Take a closer look at the EL (expression language)
    It has an excellent syntax for accessing collections/maps
    ${contenitoreCentralineTronco[index]} would exactly what you want, without having to write a custom tag for it.
    If you REALLY want to do this as a custom tag, then you need to treat the input attribute as a String (the name of the variable you are going to create?) Right now your tag declares the attribute partizione as being of type ContenitorePartizioneBean which is probably the cause of the problem - you are passing it a String.
    Cheers,
    evnafets

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

Maybe you are looking for

  • How do I check if ports on my router are open?

    I'm having some problems with my Tivo. It's telling me to make sure a number of ports are open on my router. I assume I can do this with my Mac. Does Leopard come with any software that would do this for me? Or is there a program I can download? Than

  • Why does Mavericks not allow the "poster" option in Adobe Acrobat anymore?

    I'm trying to print "poster" style (i.e. tiled/100% size over multiple pages) in Adobe Acrobat. Everything else in the program works, but that is greyed out.  Is there a workaround? Do I just have to wait for an update from Apple or Adobe? 

  • N97 and security!

    Do you ever place personal information on mass storage or maybe a storage card in your N97? Please try the following and be warned! Turn off your phone and start charging it through your computers usb port. Allthough the phone is turned off you will

  • ORA-2020 when trying to verify database links

    I have a problem with verifying database links. I want to create a procedure for checking all database links. this is done like the following: declare xRefCursor sys_refcursor; cursor cDBLinks is select db_link from user_db_links; nDummy number; begi

  • Proble with  update

    Hi, I heve problem with Evernote update over app store. The update notification does not disappear after install it, even if I reboot my MacBook..And even if I unistall evernote.app..I tried even install the 10.6.6 combo update, unlucky without affec