@Inject @Param(converter = "#{pageConverter}") // or "pageConverter"
private int page;
OmniFaces @param versagt Wandler zu verwenden, um eine primitive Eigenschaft festlegen
@Named
@ApplicationScoped
public class PageConverter implements Converter
Wenn OmniFaces @Param
auf page
verwenden, erhalte ich eine Ausnahme
java.lang.IllegalArgumentException: Can not set int field com.example.Bean.page to null value
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
at sun.reflect.UnsafeIntegerFieldAccessorImpl.set(UnsafeIntegerFieldAccessorImpl.java:80)
at java.lang.reflect.Field.set(Field.java:758)
at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:94)
...
Mein Konverter darauf achten soll, davon, aber getAsObject
wird nie aufgerufen.
Dies funktioniert:
<f:metadata>
<f:viewParam name="page" value="#{bean.page}">
<f:converter binding="#{pageConverter}"/>
</f:viewParam>
</f:metadata>
funktioniert Ihr Konverter, wenn er auf andere Weise verwendet wird? – Kukeltje
Ja, es funktioniert, wenn View Tag – Ced
Omnifaces Version verwendet? – Kukeltje