Hi,
I've run into a strange problem using Struts 1.1 with Tomcat 5.0.14 . In a page that previously worked fine (of course...), I now get a JSP page displays the following message :
[ServletException in:/admin/tiles/welcomeBody.jsp] Exception creating bean of class com.wakaleo.webcat.auth.LogonForm: {1}


The strange thing is, I'm not working on the user interface at the moment, so I don't see what could have changed. From what I can gather from the source code, Struts calls the RequestUtils.applicationInstance() method to instanciate an instance of the form bean, and then exploses (see the stack dump below). Tomcat (?) doesn't seem to be able to find some of the Struts classes (ActionForm, ActionErrors,...). I get the same thing with any other Struts forms, but, strangely enough, the bits of the site that don't use the <html:form> tag seem to work as excepted (they do use Tiles and JSTL, though). I also have no idea what on earth Tomcat is trying to compile

This one's got me stumped. Any ideas ?

STACK DUMP :

GRAVE: Error creating form bean of class com.wakaleo.webcat.auth.LogonForm
java.lang.Error: Unresolved compilation problems:
The import org.apache.struts cannot be resolved
The import org.apache.struts cannot be resolved
The import org.apache.struts cannot be resolved
The import org.apache.struts cannot be resolved
ActionForm cannot be resolved or is not a valid superclass
ActionErrors cannot be resolved (or is not a valid return type) for the
method validate
ActionMapping cannot be resolved (or is not a valid type) for the argume
nt mapping of the method validate
ActionErrors cannot be resolved or is not a type
ActionErrors cannot be resolved or is not a type
ActionError cannot be resolved or is not a type
ActionError cannot be resolved or is not a type
ActionError cannot be resolved or is not a type


at com.wakaleo.webcat.auth.LogonForm.<init>(LogonForm.java:14)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)


at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at org.apache.struts.util.RequestUtils.applicationInstance(RequestUtils.
java:231)
at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.jav
a:837)
at org.apache.struts.taglib.html.FormTag.initFormBean(FormTag.java:552)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:520)
...


TAGLIB WHICH EXPLOSES (works fine if I replace all this with 'HELLO WORLD') :

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt"; prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jstl/core"; prefix="c" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="http://jakarta.apache.org/taglibs/log-1.0"; prefix="log" %>
<%@ taglib tagdir="/WEB-INF/tags/util" prefix="util" %>

<%-- Login form --%>
<table class="infoFrame" cellpadding="0" cellspacing="0" width="100%">
<%-- Box Heading --%>
<util:boxed_heading titleKey="admin.home.login.title" />
<tr class="infoList">
<td colspan="3" align="center" colspan="3">
<table class="infoListFrame" cellpadding="0" cellspacing="5" width="100%">
<html:form action="/admin/LogonSubmit">
<tr class="infoList">
<td class="newsDetails">
<fmt:message key="admin.home.login.description" />
</td>
</tr>
<tr class="infoList"><th align="left"><fmt:message key="admin.home.login.login" /></th></tr>
<tr class="infoList"><td><html:text property="username" /></td></tr>
<html:errors property="username" />
<tr class="infoList"><th align="left"><fmt:message key="admin.home.login.account" /></th></tr>
<tr class="infoList"><td><html:text property="account" /></td></tr>
<html:errors property="account" />
<tr class="infoList"><th align="left"><fmt:message key="admin.home.login.password" /></th></tr>
<tr class="infoList"><td><html:password property="password" /></td></tr>
<html:errors property="password" />
<tr class="infoList">
<td align="left" width="116" height="23">
<input value='submit'
border='0'
src='<html:rewrite page="/admin/images/btn_ok.gif"/>'
name='submit'
type='image'>
</td>
</tr>
<html:errors property="org.apache.struts.action.GLOBAL_MESSAGE" />
</html:form>
</table>
</td>
</tr>
</table>
<%-- End Login form --%>


FORM-BEAN in struts-config.xml :
<form-bean name="logonForm" type="com.wakaleo.webcat.auth.LogonForm"/>


(And, yes, LogonForm is derived from ActionForm).

--
John Ferguson Smart, PhD
Directeur de Projet
Département informatique Communicante AACOM
email : [EMAIL PROTECTED]


---------------------------------------------------------------------
AACOM - L'Informatique communicante
120 rue du Marin Blanc - Z.I. des Paluds
13685 Aubagne Cedex
tel : 04.42.72.65.69 - fax : 04.42.72.65.68
Web : http://www.aacom.fr
---------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to