On May 7, 2010, at 15:39:37, Jeff Schnitzer wrote: > Note: There is nothing special about the empty operator; expressions > are resolved as normal and then the result is tested for null or empty > collection. If expression evaluation ever tries to access a field or > method that doesn't exist on an object, the EL resolver throws > PropertyNotFoundException or MethodNotFoundException.
Yeah, that makes sense. > > Jeff > > On Fri, May 7, 2010 at 2:47 PM, Aaron Freeman <aaron.free...@layerz.com> > wrote: >> This isn't in the UI layer. This is in a controller. At any rate there is >> a simple work around, but this sure doesn't seem like it should be >> generating an error. If a property doesn't exist on an object it sure seems >> like the test for empty=true should work, and not throw a runtime error. >> >> At any rate there are easy workarounds in this case but workarounds make the >> code uglier. >> >> Aaron >> >> >> On 5/7/2010 3:57 PM, Jon Stevens wrote: >> >> I don't know if there is a way and it isn't something I'd depend on in the >> UI layer. Think of [class] like you'd think of an interface. You really >> should only put implementations of interfaces into the context. Otherwise, >> I'd consider putting a Map in there for the effect you want. >> jon >> >> On Fri, May 7, 2010 at 1:43 PM, Aaron Freeman <aaron.free...@layerz.com> >> wrote: >>> >>> Bummer, what's the proper way to test if a property exists then, since >>> ${!empty [class].[property]} isn't the correct way? >>> >>> Thanks, >>> >>> Aaron >>> >>> >>> On 5/7/2010 3:07 PM, Jon Stevens wrote: >>> >>> That is what JBoss does, so I'd say that Caucho fixed a bug. >>> jon >>> >>> On Fri, May 7, 2010 at 12:59 PM, Aaron Freeman <aaron.free...@layerz.com> >>> wrote: >>>> >>>> We are system testing Resin 4.0.6 with our old code base and found a >>>> curiosity. The following code used to work, regardless of what "type" >>>> "receipt" is: >>>> >>>> <c:if test="${!empty receipt.details}"> >>>> >>>> Under Resin 3.0.x if receipt was a HashMap and had a "details" property >>>> then it would return "true". If it was a HashMap and did not have a >>>> details property, it would correctly return false. And (most >>>> importantly), if receipt was _any_ other class, including built in java >>>> classes, it would just return false. With Resin 4.0.6 it now throws an >>>> error: >>>> >>>> 'details' is an unknown bean property of 'java.math.BigDecimal' >>>> >>>> That's not the expected behavior is it? >>>> >>>> Thanks, >>>> >>>> Aaron >>>> >>> >> >> >> _______________________________________________ >> resin-interest mailing list >> resin-interest@caucho.com >> http://maillist.caucho.com/mailman/listinfo/resin-interest >> >> > > > _______________________________________________ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest