Oto moja klasa obiektu:Jak uzyskać dostęp do pól publicznych obiekt jest z szablonu Velocity
public class Address
{
public final String line1;
public final String town;
public final String postcode;
public Address(final String line1, final String town, final String postcode)
{
this.line1 = line1;
this.town = town;
this.postcode = postcode;
}
}
dodaję go do kontekstu prędkości tak:
Address theAddress = new Address("123 Fake St", "Springfield", "SP123");
context.put("TheAddress", theAddress);
Jednak pisząc szablon , następujące elementy nie będą renderować pól adresu (jednak działa poprawnie, gdy dodaję moduły pobierające do klasy adresu)
<Address>
<Line1>${TheAddress.line1}</Line1>
<Town>${TheAddress.town}</Town>
<Postcode>${TheAddress.postcode}</Postcode>
</Address>
Czy można uzyskać dostęp do pól publicznych na obiektach z Velocity bez dodawania getterów?
Czy możesz dodać wszelkie szczegóły, takie jak link do dokumentacji, jak to zrobić lub dlaczego jest to konieczne? –
Jest to konieczne, ponieważ prędkość nie obsługuje pól publicznych. Wypróbuj to: http://maven-doccheck.sourceforge.net/samples/ShinobuDemo/apidocs/org/apache/velocity/tools/generic/introspection/PublicFieldUberspect.html –
To genialne, że implementują swoją strukturę zgodnie z konwencją zamiast rzeczywistych reguł językowych ... – evanmcdonnal