Code: Select all
<p:dataTable value="#{motorcycleController.allMotorcycles}" style="width:100%" var="motorcycle" border="1"
selectionMode="single"
selection="#{motorcycleController.selectedMotorcycle}"
rowKey="#{motorcycle}"
id="dataTableMotorcycles"
Code: Select all
public Motorcycle getSelectedMotorcycle() {
LOGGER.info("***** 1 getSelectedMotorcycle selectedMotorcycle = {}", selectedMotorcycle);
return selectedMotorcycle;
}
public void setSelectedMotorcycle(Motorcycle selectedMotorcycle) {
LOGGER.info("***** 2 setSelectedMotorcycle selectedMotorcycle = {}", selectedMotorcycle);
this.selectedMotorcycle = selectedMotorcycle;
}
Code: Select all
<p:ajax event="rowSelect" process="@this" listener="#{motorcycleController.onMotorcycleSelect}" />
However the 'ajax' listener, in the backing bean:13:31:23,740 INFO [com.gostophandle.controller.MotorcycleController] (default task-1) ***** 1 getSelectedMotorcycle selectedMotorcycle = null
13:31:37,123 INFO [com.gostophandle.controller.MotorcycleController] (default task-6) ***** 2 setSelectedMotorcycle selectedMotorcycle = Motorcycle{id='5c8683543b0773a8d764b7bd', category='', manufacturer='Moto Guzzi', model='V7 III Stone', dateProductionStarted=2019-01-01 00:00:00.0, dateProductionEnded=null, modelYear=2019-01-01 00:00:00.0, colours=[Colour{colour='Camouflage'}, Colour{colour='Yellow'}, Colour{colour='Blue'}, Colour{colour='Black'}], engine=Engine{type='Four Stroke', displacement=749.0, capacityUnit='cc', bore=80.0, boreMeasurement='mm', stroke=74.0, strokeMeasurement='mm', distribution='null', maxiumPowerHp=85.0, maxiumPowerKilowatt=38.0, maxiumPowerRpm=6200.0, maximumTorque=60.0, maximumTorqueUnit='Nm', maximumTorqueRpm=4900.0}, performance=Performance{topSpeedMph=130.0, topSpeedKph=208.0, accelleration30Mph=0.0, accelleration60Mph=0.0, accelleration100Mph=0.0, accelleration30Kph=0.0, accelleration60Kph=0.0, accelleration100Kph=0.0}, chassis=null, dimensions=null, weights=null, transmission=null, instruments=null, electrics=null, accessories=[Accessory{productNumber='MG001', productName='Product 1'}, Accessory{productNumber='MG002', productName='Product 2'}, Accessory{productNumber='MG003', productName='Product 3'}, Accessory{productNumber='MG004', productName='Product 4'}]}
Code: Select all
public void onMotorcycleSelect(SelectEvent selectEvent) {
LOGGER.info("***** 3 onMotorcycleSelect selectEvent = {}", selectEvent);
LOGGER.info("***** 4 onMotorcycleSelect selectedMotorcycle = {}", this.selectedMotorcycle);
}
I've looked at the PF Demo and Google'd StackOverflow etc. and can't see my error?13:31:37,127 WARNING [javax.enterprise.resource.webcontainer.jsf.lifecycle] (default task-6) /SelectMotorcycles.xhtml @82,115 listener="#{motorcycleController.onMotorcycleSelect}": Method not found: class com.gostophandle.controller.MotorcycleController.onMotorcycleSelect(org.primefaces.event.SelectEvent): javax.el.MethodNotFoundException: /SelectMotorcycles.xhtml @82,115 listener="#{motorcycleController.onMotorcycleSelect}": Method not found: class com.gostophandle.controller.MotorcycleController.onMotorcycleSelect(org.primefaces.event.SelectEvent)