Details
-
Sub-task
-
Status: Closed
-
Minor
-
Resolution: Later
-
None
-
None
-
None
Description
This can be considered as continuation of MYFACES-3202. Implements requirement "any time there is an error the user should see not just a cryptic stack trace, but the EL expression that was being evaluated - including the part of the EL expression that triggered the problem"
Example:
<f:actionListener type="com.foo.Bazz" /> is represented as org.apache.myfaces.view.facelets.tag.jsf.core.ValueChangeListenerHandler.LazyValueChangeListener instance. But if look in code, you see simple valueChangeListener.processValueChange(event); without try catch. If exception occurs, no facelets Location or TagAttribute context is available and therefore exception handling mechanism is not able to output info about problematic XML tag.
Use types created as part of MYFACES-3202 (ContextAware, LocationAware .. ); create something like ExecuteTemplate and ExecuteCallback and perform all operation with proper context.