Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Incomplete
-
5.3.6, 5.2.5
-
None
Description
The changes introduced with TAP5-1064 allow Scala-style properties to be used from components without the need for Java-style getters and setters. The implementation currently requires a field of the same name as the property to exist on the bean, which is unfortunate.
This works:
var value: String = _
<input ... t:value="value" />
This does not:
def value(): String = ...
def value_=(value: String)
<input ... t:value="value" />
A class which delegates property access to a backing bean is not recognized by PropertyAccessImpl as having any valid properties; the same is the case when the field has a different name than the property.
Possible workarounds include a dead field in the value class to satisfy the condition in PropertyAccessImpl, and adding Java-style getters and setters for the property.