I am failing to render data which is surely in a database. All my DAO methods working and tested. Perhaps it is not important but anyway: I am using Primefaces, Java ee 6, glassfish 3.1.
Here is error: /edit.xhtml @59,45 value="#{b.orderNum}": The class 'com.boatmanagement.domain.BoatOrder' does not have the property 'orderNum'.
My domain class.
@Entity
@Table(name="BOAT_ORDR_TB")
public class BoatOrder implements Serializable
{
@Id
@GeneratedValue
@Column(name="ORDER_PK")
private int orderId;
@Column(name="ORDER_NUM")
private String orderNum;
@Temporal(TemporalType.DATE)
@Column(name="ORDER_DATE")
private Date orderDate;
public int getBoatOrderId() {
return orderId;
}
public void setBoatOrderId(int orderId) {
this.orderId = orderId;
}
public String getBoatOrderNum() {
return orderNum;
}
public void setBoatOrderNum(String orderNum) {
this.orderNum = orderNum;
}
public Date getBoatOrderDate() {
return orderDate;
}
public void setBoatOrderDate(Date orderDate) {
this.orderDate = orderDate;
}
}
Here is part of my JSF page.
<h:form class="displayTable">
<p:dataTable id="boatTable" autoUpdate="true"
var="b" value="#{filterbean.btOrderlist}">
<p:column headerText="res. num" width="50">
<h:outputText value="#{b.orderNum}" />
</p:column>
<p:column headerText="Date" width="50">
<h:outputText value="#{b.orderDate}" />
</p:column>
<p:column headerText="Yacht name" width="100">
<h:outputText value="" />
</p:column>
</p:dataTable>
</h:form>
</ui:define>
The presence of the property is basically determined by the presence of the public getter method which is named according the Javabeans specification. So the property of orderNum
basically requires a public getter with the name getOrderNum()
(and for input components also a public setter with the name of setOrderNum()
).
You don't have them. You gave them different names. Fix the method names in the class, or the property name in EL.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With