myfaces-dev mailing list archives

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


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
           alert('Hello World');

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

View raw message