myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Udo Schnurpfeil (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TOBAGO-807) Allow script tag not only at page level
Date Fri, 23 Oct 2009 09:12:59 GMT

    [ https://issues.apache.org/jira/browse/TOBAGO-807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12769142#action_12769142
] 

Udo Schnurpfeil commented on TOBAGO-807:
----------------------------------------

hmmm, strange, I've tested it this way:
 1. apply your patch in 1.0.24-SNAPSHOT
 2. add a script-tag deeper than child of tc:page in helloWorld.xml of tobago-example-facelets
     replace
       <tc:cell/>
    with 
       <tc:cell>
         <tc:script>
           alert('Hello World');
         </tc:script>
       </tc:cell>

 3. mvn jetty:run-exploded -> Browse to the webapp
 got an Exception: The ScriptTag cannot find UIPage. Check you have defined the ScriptTag
inside of the PageTag!
this is the text from the modified code.

I took a look with the debugger, ant I can see, that parent.getParent() returns null

> Allow script tag not only at page level
> ---------------------------------------
>
>                 Key: TOBAGO-807
>                 URL: https://issues.apache.org/jira/browse/TOBAGO-807
>             Project: MyFaces Tobago
>          Issue Type: Improvement
>          Components: Facelets
>    Affects Versions: 1.0.23
>         Environment: Facelets, all
>            Reporter: Helmut Swaczinna
>            Assignee: Udo Schnurpfeil
>
> With jsp you can put a tc:script in any other tag, with facelets only in tc:page. This
is a serious restriction when you define custom facelet tags.
> To solve this restriction I modified the ScriptHandler class:
>   public void apply(FaceletContext faceletContext, UIComponent parent)
>       throws IOException, FacesException, ELException {
>     UIPage page = ComponentUtil.findPage(faceletContext.getFacesContext(), parent);
>     if (page != null) {
> ...
>     } else {
>       throw new TagException(tag, "The ScriptTag cannot find UIPage. "
>           + "Check you have defined the ScriptTag inside of the PageTag!");
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message