You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by david b <en...@mail.com> on 2006/02/22 17:58:04 UTC
Unable to instantiate an instance of class ...
Hello,
I attempting to make a simple application using Tapestry. I have tomcat 5.5.7 using JDK 1.5.
Going to this url: http://localhost:8080//firstApp/app?service=page/Login
I am getting this error:
Unable to instantiate an instance of class com.entercite.finance.model.abstrt.LoginComponent$Enhance_0.
location: context:/Login.page, line 6, column 79
I use ant and compile the source code. Here is the development structure and code.
C:\
|-main
|
|-HelloTapestry
| |-ant
| |-build.bat
|
|-build
| |-Login.html
| |-Login.page
| |-Main.html
| |-config(empty)
| |-log(empty)
| |-WEB-INF
| |-web.xml
| |-classes(all java classes)
| |-lib (Copy of all from lib)
|
|-deploy (firstApp.war)
|
|-lib
| |-tapestry-3.0.jar, tapestry-contrib-3.0.jar, ognl-2.6.3.jar, log4j-1.2.11.jar
| |-A bunch of apache commons jars
| |-jakarta-oro-2.0.6.jar, javassist-2.5.1.jar, spring.jar, hibernate3.jar, bsf-2.3.0.jar
|
|-src
|
|-context
| |-Login.html
| |-login.page
| |-Main.html
| |
| |-WEB-INF
| |-web.xml
|-java
|-com
|-entercite
|-finance
|-model
|-Login.java
|-abstrt
|-LoginComponent.java
web.xml
----------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Tutorial: HelloWorld</display-name>
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>
</web-app>
----------------------------------------------------------------------------
login.html
----------------------------------------------------------------------------
<html jwcid="@Shell" title="Login">
<body>
<span jwcid="@Conditional" condition="ognl:message">
<font color="red">
<span jwcid="@Insert" value="ognl:message"> Error Message </span>
</font>
</span>
<p/>
<form jwcid="@Form" listener="ognl:listeners.loginComponent">
<table>
<tr>
<th>User Name:</th>
<td>
<input type="text" jwcid="@TextField"
value="ognl:login.userName"
size="30"/>
</td>
</tr>
<tr>
<th>Password:</th>
<td>
<input type="password" jwcid="@TextField"
value="ognl:login.password"
hidden="ognl:true"
size="30"/>
</td>
</tr>
<tr>
<td><input type="submit" value="Login"/></td>
</tr>
</table>
</form>
<hr/>
<p><a href="#" jwcid="@PageLink" page="Home">Return to Home page</a>.</p>
</body>
</html>
----------------------------------------------------------------------------
Login.page
----------------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE page-specification PUBLIC
"-//Apache Software Foundation//Tapestry Specification 3.0//EN"
"http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">
<page-specification class="com.entercite.finance.model.abstrt.LoginComponent">
<property-specification name="message" type="java.lang.String"/>
<property-specification name="login" type="com.entercite.finance.model.Login"/>
</page-specification>
----------------------------------------------------------------------------
login
----------------------------------------------------------------------------
package com.entercite.finance.model;
import java.util.*;
public class Login {
private Integer loginId = new Integer(0);
private String userName = "";
private String password = "";
private Integer permissionType = new Integer(0);
public void setLoginId(Integer loginId){ this.loginId = loginId; }
public Integer getLoginId(){return this.loginId;}
public void setUserName(String userName){ this.userName = userName;}
public String getUserName(){return this.userName;}
public void setPassword(String password){this.password = password;}
public String getPassword(){return this.password;}
public void setPermissionType(Integer permissionType){this.permissionType = permissionType;}
public Integer getPermissionType(){return this.permissionType;}
}
----------------------------------------------------------------------------
LoginComponent
----------------------------------------------------------------------------
package com.entercite.finance.model.abstrt;
import com.entercite.finance.model.Login;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.BasePage;
public abstract class LoginComponent extends BasePage {
public abstract Login getLogin();
public abstract void setLogin(Login login);
public abstract void setMessage(String message);
public LoginComponent(IRequestCycle cycle) {
String u = this.getLogin().getUserName();
String p = this.getLogin().getPassword();
if(isValidLogin(u,p) ) {
System.out.println("push to main");
cycle.activate("Main");
return;
}
setMessage("Invalid user name or password.");
}
private boolean isValidLogin(String userName, String password) {
return "tapestry".equalsIgnoreCase(userName);
}
}
The stack is :
java.lang.InstantiationException
com.entercite.finance.model.abstrt.LoginComponent$Enhance_0
Stack Trace:
* java.lang.Class.newInstance0(Unknown Source)
* java.lang.Class.newInstance(Unknown Source)
* org.apache.tapestry.pageload.PageLoader.instantiatePage(PageLoader.java:694)
* org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:756)
* org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:153)
* org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:196)
* org.apache.tapestry.engine.PageService.service(PageService.java:73)
* org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:872)
* org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:197)
* org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:158)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
* javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
* org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
* org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
* org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
* org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
* org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
* org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
* org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
* org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
* org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
* org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
* org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
* org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
* org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
* java.lang.Thread.run(Unknown Source)
What am I doing wrong?
--
___________________________________________________
Play 100s of games for FREE! http://games.mail.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org