[
https://issues.apache.org/jira/browse/TOMAHAWK-1339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634485#action_12634485
]
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: https://issues.apache.org/jira/browse/TOMAHAWK-1339
> 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.