dieses ist meine JSF-Seite, in der ich habe versucht, ein sehr gutes, um die Anforderung an die Eigenschaften von Java-Objekt zu erfüllen. Ich habe das ganze Problem auf dieser Webseite überprüft aber mittags scheint das zu helfen. Ich weiß nicht, was Problem mit meinem Code istDatentabelle nicht Daten in JSF aus Datenbank über LinkedList
<h:dataTable value="#{contact.getPeopleList()}" var="data">
<h:column>
<f:facet name="header">ID</f:facet>
<h:outputText value="#{data.id}"/>
</h:column>
<h:column>
<f:facet name="header">Name</f:facet>
<h:outputText value="#{persons.name}"/>
</h:column>
<h:column>
<f:facet name="header">Mobile Number</f:facet>
#{persons.mobilenumber}
</h:column>
<h:column>
<f:facet name="header">Phone Number</f:facet>
#{persons.telephone}
</h:column>
<h:column>
<f:facet name="header">Address</f:facet>
#{persons.address}
</h:column>
</h:dataTable>
</h:body>
Dieses ist mein Kontakt Klasse, in der ich Klasse Person zu injizieren haben die Eigenschaften der Person Klasse erhalten
@Named
@RequestScoped
public class Contact {
private Person person;
@PostConstruct
public void init(){
this.person=new Person();
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String onSubmit(){
ContactDAO doaContact=new ContactDAO();
doaContact.insertContact(person);
return "contactpage";
}
public List<Person> getPeopleList(){
ContactDAO doaContact=new ContactDAO();
List<Person> personList =doaContact.getAll();
return personList;
}
}
package np.com.drose.beans;
import java.util.List;
import np.com.drose.doa.ContactDAO;
public class Person {
private int id;
private String name;
private int mobilenumber;
private int telephone;
private String address;
public Person() {
}
public Person(int id, String name, int mobilenumber, int telephone, String address) {
this.id = id;
this.name = name;
this.mobilenumber = mobilenumber;
this.telephone = telephone;
this.address = address;
}
public Person(String name, int mobilenumber, int telephone, String address) {
this.name = name;
this.mobilenumber = mobilenumber;
this.telephone = telephone;
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMobilenumber() {
return mobilenumber;
}
public void setMobilenumber(int mobilenumber) {
this.mobilenumber = mobilenumber;
}
public int getTelephone() {
return telephone;
}
public void setTelephone(int telephone) {
this.telephone = telephone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
hier bekomme ich verwirrt in der Datenzugriffsobjektklasse, wo ich anscheinend nicht finde, was ich falsch gemacht habe und warum mein Code keine Daten von der Datenbank rendert
public List<Person> getAll(){
List<Person> contactList= new LinkedList<>();
String sql="Select * from contact";
try{
conn = DataConnection.getConnetion();
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
Person person=new Person(rs.getInt("id"),rs.getString("name"),rs.getInt("mobilenumber"),rs.getInt("telephone"),rs.getString("address"));
contactList.add(person);
}
}catch(Exception EX){
EX.printStackTrace();
}
return contactList;
}
Um die eine oder andere auszuschließen, klicken Sie mit der rechten Maustaste in den Webbrowser und wählen Sie "Seitenquelle anzeigen". Was genau siehst du? Wird der nicht gepackte JSF-Quellcode oder die generierte HTML-Ausgabe angezeigt? Und haben Sie den Java-Code debuggt, um zu sehen, ob er tatsächlich aufgerufen wird oder nicht? – BalusC
/contactpage.xhtml @ 10,66 value = "# {contact.getPeopleList}": Die Klasse 'np.com.drose.beans.Contact' hat nicht die Eigenschaft 'getPeopleList'. –