myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Simon Kitching (JIRA)" <>
Subject [jira] Commented: (TOMAHAWK-1339) tabChangeListener: only literal strings supported in "type" attribute
Date Thu, 25 Sep 2008 14:09:44 GMT


Simon Kitching commented on TOMAHAWK-1339:

Actually, the TabChangeListenerTagHandler class has a second bug. The jsp tag version supports
having the EL expression return an actual TabChangeListener object directly, while the facelets
handler does not.

The way the JSP tag overloads the "type" attribute to allow specifying an instance is ugly.
However changing this now would be a backwards-incompatibility so we are stuck with it. And
for consistency the facelets version should implement the same interface as the JSP version.

I will commit a patch to make the facelets version work like the jsp version.

> tabChangeListener: only literal strings supported in "type" attribute
> ---------------------------------------------------------------------
>                 Key: TOMAHAWK-1339
>                 URL:
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Tabbed Pane
>    Affects Versions: 1.1.7
>            Reporter: Simon Kitching
> The "type" attribute of t:tabChangeListener is the name of a java class. It is intended
to support either literal classnames or an EL expression that resolves to a String that is
the name of a class.
> However due to a tiny bug in class TabChangeListenerTagHandler,  the type attribute is
always treated as a literal string. EL expressions therefore cause a "ClassNotFound: #{.....}"
type message.
> Line "if (!typeAttribute.isLiteral())" should not have that logical negation there. The
same error is present on the myfaces wiki page for tomahawk+facelets, where this code presumably
came from.

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

View raw message