Inside of Trinidad's EditableValueRenderer
(org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.EditableValueRenderer)

there getReadOnly(...), which is called by all inputXyz Renderers to
check if the component should be rendered "readOnly" or not
That method checks if the component is readOnly AND it also checks if
the underlying EL is readOnly.

If that method returns TRUE, the component is readOnly (and there for
a inputText isn't editable)...makes sense, so far...

Here is a "use-case"

<tr:inputText label="Label a)" value=""/>
(yes, may be stupid, but can happen...)

Since the getReadOnly() checks if the EL is readOnly... it does this as well:

ValueExpression ve = getValueExpression(bean);


In Jetty (jetty-6.1.2rc2), which uses Sun/Glassfish/RI EL
(com.sun.el.ValueExpressionImpl)
==>
It returns an object that is readOnly (which is correct) and the
getExpressionString is "" (empty).

In tomcat 6. which uses this EL-Impl
"org.apache.jasper.el.JspValueExpression", it returns NULL


Now, I wonder what the correct EL behavior is.
I tend to think, that Tomcat is right, because there is no
ExpressionString, so not a "real" Expression,
but others could have a different understanding of it.

What is your take on that ?

-- 
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
mail: matzew-at-apache-dot-org

Reply via email to