I am using tomcat 6.0.10 for learning jsf1.2<br>
i have a managed beans & DAO like<br>
package htc.faces;<br>
import java.sql.DriverManager;<br>
import java.sql.PreparedStatement;<br>
import java.sql.Connection;<br>
import java.sql.ResultSet;<br>
import java.sql.ResultSetMetaData; <br>
import java.sql.Statement;<br>
import javax.naming.InitialContext;<br>
import javax.sql.DataSource;<br>
import java.util.ArrayList;<br>
import java.util.HashMap;<br>
import java.util.Map;<br>
public class FHCMemberDAO implements java.io.Serializable<br>
{
PreparedStatement pstmt;<br>
Connection con;<br>
ResultSet rs;<br>
ResultSetMetaData rsmd;<br>
DataSource ds = null;<br>
Statement stmt;<br>
public FHCMemberDAO()<br>
{
}<br>
public ArrayList<FHCMemberVO> getMembers()
throws Exception<br>
{
ArrayList<FHCMemberVO> members =
new ArrayList<FHCMemberVO>(); <br>
FHCMemberVO member1 = null; <br>
try
{
InitialContext ctx = new InitialContext();<br>
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/myOraSource");<br>
con = ds.getConnection();<br>
stmt = con.createStatement(); <br>
rs = stmt.executeQuery("select * from fhcmembers");<br>
while(rs.next())
{<br>
member1 = new FHCMemberVO();<br>
member1.setSecurityNumber(rs.getString(1));<br>
member1.setName(rs.getString(2));<br>
member1.setOccupation(rs.getString(3));<br>
member1.setTotIncome(rs.getDouble(4));<br>
member1.setAddress(rs.getString(5));<br>
member1.setCardId(rs.getString(6));<br>
members.add(member1);<br>
}<br>
}
catch(Exception e)
{
throw e;
}<br>
finally
{
if (con != null)
{
con.close();
}<br>
}<br>
System.out.println(members);<br>
return members;
}
}<br>
package htc.faces;<br>
import java.util.ArrayList;<br>
import java.util.concurrent.*;<br>
public class FHCMemberManip implements
java.io.Serializable
{<br>
private FHCMemberVO member; <br>
private HospitalLocVO location;<br>
FHCMemberDAO fhcDAO;<br>
ArrayList<FHCMemberVO> members; <br>
public FHCMemberManip()<br>
{
super();<br>
member = new FHCMemberVO(); <br>
fhcDAO = new FHCMemberDAO();<br>
members = new ArrayList<FHCMemberVO>();<br>
}<br>
public ArrayList<FHCMemberVO> getMembers()<br>
{
return members;<br>
}<br>
public void setMembers(ArrayList<FHCMemberVO> mmrs)
{<br>
members = mmrs;<br>
} <br>
public FHCMemberVO getMember()
{
return member;<br>
}<br>
public void setMember(FHCMemberVO fhc)
{<br>
this.member = fhc;<br>
}<br>
public HospitalLocVO getLocation()
{<br>
return location;<br>
}<br>
public void setLocation(HospitalLocVO hlv)
{<br>
this.location = hlv;<br>
}<br>
public String addMember()
{<br>
return "success";<br>
}<br>
public String reset()
{<br>
this.member.setSecurityNumber("");<br>
this.member.setAddress("");<br>
this.member.setCardId("");<br>
this.member.setName("");<br>
this.member.setTotIncome(0.0);<br>
this.member.setOccupation("");<br>
this.location.setArea("");<br>
this.location.setCity("");<br>
this.location.setState("");<br>
return "success"; <br>
} <br>
public String getAllMembers()
{<br>
try
{<br>
ArrayList<FHCMemberVO> members =
fhcDAO.getMembers();<br>
setMembers(members); <br>
}<br>
catch(Exception e)
{
e.printStackTrace();
}<br>
return "success"; <br>
} <br>
}<br>
package htc.faces;<br>
public class FHCMemberVO implements java.io.Serializable
{<br>
private String securityNumber;<br>
private String name;<br>
private String occupation;<br>
private String address;<br>
private String cardId;<br>
private double totIncome;<br>
private String location;<br>
public FHCMemberVO()
{<br>
}<br>
public FHCMemberVO(String securityNumber,<br>
String name,
String occupation,
double totIncome)
{ <br>
this.securityNumber = securityNumber;<br>
this.name = name;<br>
this.occupation = occupation;<br>
this.totIncome = totIncome;<br>
}<br>
public String getAddress()
{<br>
return this.address;<br>
}<br>
public void setAddress(String address)
{<br>
this.address = address;<br>
}<br>
public String getLocation()
{<br>
return this.location;<br>
}<br>
public void setLocation(String newLocation)
{<br>
this.location = newLocation;<br>
}<br>
public String getCardId()
{<br>
return this.cardId;<br>
}<br>
public void setCardId(String cardId)
{<br>
this.cardId = cardId;<br>
}<br>
public String getName()
{<br>
return this.name;<br>
}<br>
public void setName(String name)
{<br>
this.name = name;<br>
}<br>
public String getOccupation()
{<br>
return this.occupation;<br>
}<br>
public void setOccupation(String occupation)
{<br>
this.occupation = occupation;<br>
}<br>
public String getSecurityNumber()
{<br>
return this.securityNumber;<br>
}<br>
public void setSecurityNumber(String securityNumber)
{<br>
this.securityNumber = securityNumber;<br>
}<br>
public double getTotIncome()
{<br>
return this.totIncome;<br>
}<br>
public void setTotIncome(double totIncome)
{<br>
this.totIncome = totIncome;<br>
}<br>
public String toString()
{<br>
StringBuffer sb = new StringBuffer();<br>
sb.append("Member SSN:"+this.securityNumber+"<br>");<br>
sb.append(" Name:"+this.name+"<br>");<br>
sb.append(" Profession:"+this.occupation+"<br>");<br>
sb.append(" Annual Income:"+this.totIncome+"<br>");<br>
if(address !=null )
{ <br>
sb.append(" address:"+this.address+"<br>");<br>
}<br>
if(cardId != null )
{ <br>
sb.append(" Card Id:"+this.cardId+"<br>");<br>
} <br>
return sb.toString();<br>
}<br>
}<br>
package htc.faces;<br>
public class HospitalLocVO implements java.io.Serializable
{<br>
private String state = "";<br>
private String city = "";<br>
private String area = "";<br>
public HospitalLocVO(String state, String city, String area)
{<br>
this.state = state;<br>
this.city = city;<br>
this.area = area;<br>
}<br>
public HospitalLocVO()
{<br>
super();<br>
}<br>
public String getArea()
{<br>
return this.area;<br>
}<br>
public void setArea(String area)
{<br>
this.area = area;<br>
}<br>
public String getCity()
{<br>
return this.city;<br>
}<br>
public void setCity(String city)
{<br>
this.city = city;<br>
}<br>
public String getState()
{<br>
return this.state;<br>
}<br>
public void setState(String state)
{<br>
this.state = state;<br>
}<br>
public String toString()
{<br>
if(state.length()>0)<br>
{<br>
return this.state+"-"+this.city+"-"+this.area;<br>
}<br>
return "";<br>
}<br>
}<br>
faces-config like<br>
<?xml version="1.0"?><br>
<faces-config xmlns="
http://java.sun.com/xml/ns/javaee"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2"><br>
<application><br>
<message-bundle>messages</message-bundle><br>
<locale-config>
<default-locale>en</default-locale>
</locale-config><br>
</application><br>
<converter><br>
<converter-id>locChanger</converter-id><br>
<converter-class>htc.faces.LocationConverter</converter-class><br>
</converter><br>
<managed-bean><br>
<managed-bean-name>fhcMemberVar</managed-bean-name><br>
<managed-bean-class>htc.faces.FHCMemberVO</managed-bean-class><br>
<managed-bean-scope>session</managed-bean-scope><br>
</managed-bean><br>
<managed-bean><br>
<managed-bean-name>hospitalLocVar</managed-bean-name><br>
<managed-bean-class>htc.faces.HospitalLocVO</managed-bean-class><br>
<managed-bean-scope>session</managed-bean-scope><br>
</managed-bean><br>
<managed-bean><br>
<managed-bean-name>membersVar</managed-bean-name><br>
<managed-bean-class>java.util.ArrayList</managed-bean-class><br>
<managed-bean-scope>session</managed-bean-scope><br>
</managed-bean><br>
<managed-bean><br>
<managed-bean-name>memberManip</managed-bean-name><br>
<managed-bean-class>htc.faces.FHCMemberManip</managed-bean-class><br>
<managed-bean-scope>session</managed-bean-scope><br>
<managed-property><br>
<property-name>member</property-name><br>
<value-class>htc.faces.FHCMemberVO</value-class><br>
<value>#{fhcMemberVar}</value><br>
</managed-property><br>
<managed-property><br>
<property-name>location</property-name><br>
<value-class>htc.faces.HospitalLocVO</value-class><br>
<value>#{hospitalLocVar}</value><br>
</managed-property><br>
<managed-property><br>
<property-name>members</property-name><br>
<value-class>java.util.ArrayList</value-class><br>
<value>#{membersVar}</value><br>
</managed-property><br>
</managed-bean><br>
<navigation-rule><br>
<from-view-id>/enroll.jsp</from-view-id> <br>
<navigation-case><br>
<from-action>#{memberManip.addMember}</from-action><br>
<from-outcome>success</from-outcome><br>
<to-view-id>/result.jsp</to-view-id> <br>
</navigation-case><br>
<navigation-case><br>
<from-action>#{memberManip.reset}</from-action><br>
<from-outcome>success</from-outcome><br>
<to-view-id>/enroll.jsp</to-view-id> <br>
</navigation-case><br>
<navigation-case><br>
<from-action>#{memberManip.getAllMembers}</from-action><br>
<from-outcome>success</from-outcome><br>
<to-view-id>/allMembers.jsp</to-view-id> <br>
</navigation-case><br>
</navigation-rule><br>
<navigation-rule><br>
<from-view-id>/result.jsp</from-view-id> <br>
<navigation-case><br>
<from-action>#{memberManip.getAllMembers}</from-action><br>
<from-outcome>success</from-outcome><br>
<to-view-id>/allMembers.jsp</to-view-id> <br>
</navigation-case><br>
</navigation-rule><br>
<validator><br>
<validator-id>reqValidator</validator-id><br>
<validator-class>htc.faces.MustValidator</validator-class><br>
</validator> <br>
</faces-config><br>
when i am using the jsp allMembers.jsp it is giving an exception during translation of jsp<br>
<%@ taglib uri="
http://java.sun.com/jsf/core" prefix="f" %><br>
<%@ taglib uri="
http://java.sun.com/jsf/html" prefix="h" %><br>
<html><br>
<body><br>
<f:view><br>
<h:form><br>
[b][u]<h:dataTable id="allMembers"
rendered="#{!empty(memberManip.members)}" var="member"
value="#{memberManip.members}" [/u][/b]<br>
<f:facet name="header"><br>
<h:outputText value="Registered Members List" /><br>
</f:facet> <br>
<h:column><br>
<f:facet name="header"><br>
<h:outputText value="Security Number" /><br>
</f:facet><br>
<h:outputText value="#{member.securityNumber}" /><br>
</h:column> <br>
<h:column><br>
<f:facet name="header"><br>
<h:outputText value="Member Name" /><br>
</f:facet> <br>
<h:outputText value="#{member.name}" /><br>
</h:column> <br>
<h:column ><br>
<f:facet name="header"><br>
<h:outputText value="Profession" /><br>
</f:facet> <br>
<h:outputText value="#{member.occupation}" /><br>
</h:column> <br>
<h:column> <br>
<f:facet name="header"><br>
<h:outputText value="Cashless CardId" /><br>
</f:facet> <br>
<h:outputText value="#{member.cardId}" /><br>
</h:column> <br>
<h:column><br>
<f:facet name="header"><br>
<h:outputText value="Address" /><br>
</f:facet> <br>
<h:outputText value="#{member.address}" /><br>
</h:column> <br>
<h:column><br>
<f:facet name="header"><br>
<h:outputText value="Total Income" /><br>
</f:facet> <br>
<h:outputText value="#{member.totIncome}" /><br>
</h:column><br>
<f:facet name="footer"><br>
<h:outputText value="From DTR Prasad" /><br>
</f:facet> <br>
</h:dataTable> <br>
</h:form><br>
</f:view><br>
</body><br>
</html><br>
The error is:<br>
Unable to compile class for JSP: <br>
An error occurred at line: 9 in the jsp file: /allMembers.jsp
The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)<br>
6: <br>
7: <h:form><br>
8:
9: <h:dataTable id="allMembers" <br>
10: rendered="#{!empty(memberManip.members)}" var="member"<br>
11: value="#{memberManip.members}" ><br>
12: <br><br>
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:414)
at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:455)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:139)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
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:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
Mar 9, 2007 7:10:22 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 9 in the jsp file: /allMembers.jsp
The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)
6:
7: <h:form>
8:
9: <h:dataTable id="allMembers"
10: rendered="#{!empty(memberManip.members)}" var="member"
11: value="#{memberManip.members}" >
12:
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compil
please look into this and provide help where the mistake is
email: rajendra32_at_yahoo.co.uk
Prasad DTR
[Message sent by forum member 'dtrprasad' (dtrprasad)]
http://forums.java.net/jive/thread.jspa?messageID=207030