It is a bug.
   
  I followed the DefautAddResource.java code for:
  addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD , 
script); 
   
  InlineScriptPositionedInfo  was cast to AttributeInfo.
   
  see the highlighted line below.
   
  Is there a workaround for adding script for <body onload="script">?
   
  Thanks!
   
   
     /**
     * Adds the given Inline Script at the specified document position.
     */
    public void addInlineScriptAtPosition(FacesContext context, 
ResourcePosition position,
                                          String inlineScript)
    {
        addPositionedInfo(position, getInlineScriptInstance(inlineScript));
    }
   
      private PositionedInfo getInlineScriptInstance(String inlineScript)
    {
        return new InlineScriptPositionedInfo(inlineScript);
    } 
   
   
         if (bodyInsertPosition > 0)
        {
            StringBuffer buf = new StringBuffer();
            Set bodyInfos = getBodyOnloadInfos();
            if (bodyInfos.size() > 0)
            {
                int i = 0;
                for (Iterator it = getBodyOnloadInfos().iterator(); 
it.hasNext();)
                {
                    AttributeInfo positionedInfo = (AttributeInfo) it.next();
                    if (i == 0)
                    {
                        buf.append(positionedInfo.getAttributeName());
                        buf.append("=\"");
                    }
                    buf.append(positionedInfo.getAttributeValue());
                      i++;
                }
                  buf.append("\"");
                originalResponse.insert(bodyInsertPosition - 1, " " + 
buf.toString());
            }
        }

Dave <[EMAIL PROTECTED]> wrote:
    I tried, but still got the same exception. Any difference between "return 
null" and "return empty string" for <outputText>?  Any helps are appreciated.
   
  java.lang.ClassCastException: 
org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
        at 
org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
        at 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

Glauco Pimentel Gomes <[EMAIL PROTECTED]> wrote:
  Return an empty String "";

Glauco P. Gomes

Dave escreveu:
> HI Omidh,
> 
> Thanks for help.
> I used to trigger the code to add javascript. If the 
> method returns "work done", it would show up on page.
> 
> Dave
>
> */omidh /* wrote:
>
>
> Try to return a String...
>
> public String getAddResource() {
> FacesContext context = FacesContext.getCurrentInstance();
> AddResource addResource = AddResourceFactory.getInstance(context);
> addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> script1);
> addResource.addInlineScriptAtPosition(context,
> AddResource.BODY_ONLOAD ,
> script2);
> return "work done";
> }
>
> I added these in my Portlet-Impl in the render() and it works so
> far ok
> (without problems):
>
> FacesContext fCtx = null;
> fCtx = facesContext(request, response);
>
> AddResource resource = AddResourceFactory.getInstance(fCtx);
> logger.debug("resource: "+ resource);
>
> resource.addJavaScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
> "/tiny_mce/tiny_mce.js");
>
> resource.addInlineScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
> "tinyMCE.init({" +
> "mode : \"textareas\", " +
> "theme : \"advanced\", " +
> "});");
>
>
>
>
> Dave-53 wrote:
> >
> > I tried to use
> >
> > to add javascript.
> >
> > public String getAddResource() {
> > FacesContext context = FacesContext.getCurrentInstance();
> > AddResource addResource = AddResourceFactory.getInstance(context);
> > addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> > script1);
> > addResource.addInlineScriptAtPosition(context,
> AddResource.BODY_ONLOAD
> > , script2);
> > }
> >
> > But got the following exception. I am not sure how to use
> AddResource in
> > correct way. Thanks for help.
> >
> >
> > java.lang.ClassCastException:
> >
> org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
> > at
> >
> org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
> > at
> >
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       
---------------------------------
Be a better Heartthrob. Get better relationship answers from someone who knows.
Yahoo! Answers - Check it out. 

Reply via email to