I'm new in primefaces, and i'm implementing an application with primefaces, jsf 2.0, tomcat 6 and eclipse helios IDE.
I need to implement a datatable which holds an ArrayList object.
my codes;
Code: Select all
public class TpUser {
public String username;
public String fullname;
public String fullkananame;
public String email;
//Getters - Setters
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setFullname(String fullname) {
this.fullname = fullname;
}
public String getFullname() {
return fullname;
}
public void setFullkananame(String fullkananame) {
this.fullkananame = fullkananame;
}
public String getFullkananame() {
return fullkananame;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return email;
}
}
Code: Select all
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
@ManagedBean(name = "tpUserBean")
public class TpUserBean {
private ArrayList<TpUser> tpusers;
public TpUserBean(){
TpUser tp1 = new TpUser();
tp1.setUsername("mhakci");
tp1.setFullname("Mert HAKCI");
tp1.setFullkananame("mert");
tp1.setEmail("mh@hotmail.com");
TpUser tp2 = new TpUser();
tp1.setUsername("dozen");
tp1.setFullname("Deniz OZEN");
tp1.setFullkananame("deniz");
tp1.setEmail("dos@hotmail.com");
TpUser tp3 = new TpUser();
tp1.setUsername("ocsert");
tp1.setFullname("Onur Can SERT");
tp1.setFullkananame("onur");
tp1.setEmail("ocs@hotmail.com");
TpUser tp4 = new TpUser();
tp1.setUsername("kdursun");
tp1.setFullname("Kayhan DURSUN");
tp1.setFullkananame("kayan");
tp1.setEmail("kd@hotmail.com");
tpusers = new ArrayList<TpUser>();
tpusers.add(tp1);
tpusers.add(tp2);
tpusers.add(tp3);
tpusers.add(tp4);
}
public void setTpusers(ArrayList<TpUser> tpusers) {
this.tpusers = tpusers;
}
public ArrayList<TpUser> getTpusers() {
return tpusers;
}
}
Code: Select all
<ui:composition template="/WEB-INF/templates/default.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:define name="content">
<h:form>
<p:dataTable var="tp" value="tpUserBean.tpusers">
<p:column>
<f:facet name="header">
Username
</f:facet>
<h:outputText value="#{tp.username}"/>
</p:column>
<p:column>
<f:facet name="header">
Fullname
</f:facet>
<h:outputText value="#{tp.fullname}"/>
</p:column>
<p:column>
<f:facet name="header">
Fullkananame
</f:facet>
<h:outputText value="#{tp.fullkananame}"/>
</p:column>
<p:column>
<f:facet name="header">
Email
</f:facet>
<h:outputText value="#{tp.email}"/>
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
I'm using facelets technology, and here you're, errors..
Code: Select all
SEVERE: Error Rendering View[/index.xhtml]
javax.el.PropertyNotFoundException: /index.xhtml @14,50 value="#{tp.username}": Property 'username' not found on type java.lang.String
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:104)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
at javax.faces.component.UIOutput.getValue(UIOutput.java:168)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:338)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:78)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:62)
at org.primefaces.component.datatable.DataTableRenderer.encodeTable(DataTableRenderer.java:589)
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:492)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:273)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Aug 26, 2010 3:13:39 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
javax.el.PropertyNotFoundException: /index.xhtml @14,50 value="#{tp.username}": Property 'username' not found on type java.lang.String
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:104)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
at javax.faces.component.UIOutput.getValue(UIOutput.java:168)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:338)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:78)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:62)
at org.primefaces.component.datatable.DataTableRenderer.encodeTable(DataTableRenderer.java:589)
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:492)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:273)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:878)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1620)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:848)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1613)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)