- PR -

beanを生成する際の例外: {1}

1
投稿者投稿内容
mogumogu
常連さん
会議室デビュー日: 2006/02/24
投稿数: 32
投稿日時: 2006-04-01 22:34
いつもお世話になります。
struts1.2.8,
tomcat5.0.28,
eclipse3.1
WindowsXP
でWebアプリケーションを作っています。

eclipseからtomcatを起動すると、ログイン画面が表示できるのですが、
tomcatのstartup.batから起動すると、下記のようなエラーになってしまうのです。

javax.servlet.jsp.JspException: クラス pon.data.form.UsrInfoForm のbeanを生成する際の例外: {1}
org.apache.struts.taglib.html.SecureFormTag.doStartTag(SecureFormTag.java:219)
org.apache.jsp.DocumentRoot.login_jsp._jspx_meth_sslext_form_0(login_jsp.java:250)
org.apache.jsp.DocumentRoot.login_jsp._jspx_meth_html_html_0(login_jsp.java:194)
org.apache.jsp.DocumentRoot.login_jsp._jspService(login_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
pon.common.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)

Netで調べてみると、struts-config.xmlのform-beanタグに
typeの指定がないからとか、少し情報は見つかったのですが、
問題なさそうなのです。


ちなみにstruts-config.xmlは
<form-bean name="logonForm"
type="pon.data.form.UsrInfoForm">
<form-property name="usrId" type="java.lang.String"/>
<form-property name="passWd" type="java.lang.String"/>
</form-bean>

<!-- Process a user logon -->
<action path="/logon"
type="pon.action.LoginAction"
name="logonForm"
scope="request"
input="error"
redirect="false"
validate="true">
<set-property property="secure" value="true" />
<forward name="success" path="/doLogin.do"/>
<forward name="error" path="/DocumentRoot/login.jsp"/>
</action>

となっており、
jspで、そのbeanを使用してる箇所は
<sslext:form action="/logon" >
<DIV align="center">
<TABLE border="0" width="500" cellpadding="0" cellspacing="0" class="soft_ver" height="43">
<TBODY>
<TR>
<TD colspan="2" align="left"><FONT style="font-size:11pt;font-weight:bold;">&nbsp;&nbsp;&nbsp;&nbsp;ユーザID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>
<html:text property="usrId" tabindex="1" maxlength="10" size="25" style="ime-mode:disabled;" /></TD>
<TD rowspan="2" width="4" valign="top" class="soft_kage">
<TABLE border="0" cellpadding="0" cellspacing="0" width="4" height="7">
<TBODY>
<TR>
<TD bgcolor="#ffffff"></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="2" class="soft_kage" height="5">
<TABLE border="0" cellpadding="0" cellspacing="0" width="5" height="5">
<TBODY>
<TR>
<TD bgcolor="#ffffff" width="5"></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<BR>
<DIV align="center">
<TABLE border="0" width="500" cellpadding="0" cellspacing="0" class="soft_ver" height="43">
<TBODY>
<TR>
<TD colspan="2" align="left"><FONT style="font-size:11pt;font-weight:bold;">&nbsp;&nbsp;&nbsp;&nbsp;パスワード&nbsp;&nbsp;&nbsp;&nbsp;
<html:password property="passWd" tabindex="2" maxlength="10" size="25" style="ime-mode:disabled;" /></TD>
<TD rowspan="2" width="4" valign="top" class="soft_kage">
<TABLE border="0" cellpadding="0" cellspacing="0" width="4" height="7">
<TBODY>
<TR>
<TD bgcolor="#ffffff"></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="2" class="soft_kage" height="5">
<TABLE border="0" cellpadding="0" cellspacing="0" width="5" height="5">
<TBODY>
<TR>
<TD bgcolor="#ffffff" width="5"></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<DIV align="center">
<P><BR>
<html:submit value=" ログイン " onclick="doLogin();" property="loginBtn" tabindex="3" />
</P>
<P>&nbsp;</P>
<P><BR></P>
</DIV>
</sslext:form>

のようになっております。
またUsrInfoForm.javaは

public class UsrInfoForm extends PonValidatorForm implements Serializable {

でusrId,passWdをメンバーに持ち、
PonValidatorForm はorg.apache.struts.validator.ValidatorFormを継承しています。
長々となってしまい、申し訳ありませんが、
どなたか似たような現象で悩んだことのある方、情報をいただけないでしょうか。
よろしくお願いします。
みまな
会議室デビュー日: 2004/10/24
投稿数: 9
投稿日時: 2006-04-03 13:11
こんにちは。
同じのようなことでハマったことがあるのですが、
UsrInfoFormに引数ありのコンストラクタのみを書いてませんでしょうか?

[ メッセージ編集済み 編集者: みまな 編集日時 2006-04-03 13:18 ]
mogumogu
常連さん
会議室デビュー日: 2006/02/24
投稿数: 32
投稿日時: 2006-04-03 13:59
みまなさんご返答ありがとうございます。
UsrInfoFormにはコンストラクタもありません。

この問題ですが、自己解決してしまいました。
eclipseのワークデータを削除したら、startup.batから
起動できるようになりました。

う〜ん?
1

スキルアップ/キャリアアップ(JOB@IT)