A standard EL expression evaluator cannot and MUST never cache results.
Imagine the following expression:
h:outputText#{someBean.nextCounterValue}/h:outputText
The app developer would not be very happy if EL caches that result, right?
So caching can only be a matter for the model.
OR: you write
Yes I absolutely agree, it has to be configurable in some way. It just seems
like such a common issue that I was hoping there was a general solution.
The ELResolver route will certainly work, though as you pointed out it will
have to be some sort of annotation which will look and feel hacky,
If you have the following code:
h:h:outputText#{someBean.user.firstName}/h:outputText
h:h:outputText#{someBean.user.lastName}/h:outputText
h:h:outputText#{someBean.user.age}/h:outputText
and if SomeBean.user() is a call to the db then every one of the above
expressions will cause a trip to the