• 締切済み

No such validation エラー

struts validator にて検証チェックを行いたく作成をしましたが、上記のエラーが出てしまいました。 エラーは以下のようになっています  org.apache.commons.validator.ValidatorException: No such validation method: org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, javax.servlet.http.HttpServletRequest) at org.apache.commons.validator.ValidatorAction.loadValidationMethod ちなみにstrutsconfigは以下の通りとなっております。  <form-beans> <form-bean name="userRegistForm" type="blog.userRegistForm"> <form-property name="login_name" type="java.lang.String"/> <form-property name="nick_name" type="java.lang.String"/> <form-property name="email" type="java.lang.String"/> </form-bean> </form-beans> <action-mappings> <action path="/userRegist" type="blog.userRegistAction" name= "userRegistForm" input="/userRegist.jsp" scope="session" validate="true"> <forward name="success" path="/register_2.jsp" /> </action> jspの画面からlogin_name、nick_name、emailの入力欄を空欄のまま登録ボタンを押すと、userRegistFormに値がセットされた後、blog.userRegistAction.doに画面が遷移します(なにも表示されません)  また、validation.xmlは以下の通りとなっております。  ~中略~  <form-validation> <formset> <form name="userRegistForm"> <field property="login_name" depends="required"> <msg name="required" key="errors.empty" /> <arg name="required" key="string.login_name" position="0"/> </field> <field property="nick_name" depends="required"> <msg name="required" key="errors.empty"/> <arg name="required" key="string.nick_name" position="0"/> </field> <field property="email" depends="required,email"> <msg name="required" key="errors.empty"/> <arg name="required" key="string.email" position="0"/> <msg name="email" key="errors.email"/> <arg name="email" key="item.id" position="0"/> </field> </form> </formset> </form-validation>  また、userRegistFormは以下の通りとなっております。  private String login_name; private String nick_name; private String email; public userRegistForm() { login_name=null; nick_name=null; email=null; } public String getLogin_name() { return login_name; } public void setLogin_name(String loginName) { login_name = loginName; } public String getNick_name() { return nick_name; } public void setNick_name(String nickName) { nick_name = nickName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; となっておりますが、エラーの原因がよくわかりません。 ご教授の程よろしくお願い申し上げます。

  • Java
  • 回答数3
  • ありがとう数2

みんなの回答

  • CoMaam
  • ベストアンサー率52% (12/23)
回答No.3

>org.apache.commons.validator.ValidatorException: No such validation method: >org.apache.struts.validator.FieldChecks.validateRequired(・・・ validateRequiredメソッドがないといっているので、 validator-rules.xmlにvalidateRequiredの記述が抜けているのではないでしょうか? エラーではvalidateEmailについて触れていません。

回答No.2

バージョンが書かれていないのでわかりませんが・・・ (システムの構築が最近の事であればまずありえない事だとは思いますが) strutsのあるバージョンからFieldChecksのシグネチャ変更されて(引数が1個増えて)、 それ以前に構築したシステムだと、その更新の影響で設定ファイルを手動で対応してやる必要があったと記憶しています。 (バージョンいくつからかは失念しましたが・・・) もし今回の問題の発生に前後してstrutsのバージョンアップをされていたのであれば、 その辺りを確認されてみてはいかがでしょうか。 結構昔の事なので細かい事はよく覚えておらず、申し訳ありません。 解決の糸口となれば幸いです。

nikiusp
質問者

お礼

回答ありがとうございます validator-rule.xmlを割と新めのものと取り換えたら、エラーがなくなりました ありがとうございました

  • CoMaam
  • ベストアンサー率52% (12/23)
回答No.1

・Validationを適用するActionFormはValidatorFormを継承してください。 ・validator-rules.xmlは? ・struts-configにvalidation.xmlとcalidator-rules.xmlを指定していないよ。 とりあえず気づいたところを挙げてみました。 validationに必要な設定・ファイルをもう一度一から確認したほうが良いかもしれませんね。

参考URL:
http://www.javaroad.jp/opensource/js_struts19.htm
nikiusp
質問者

お礼

回答ありがとうございます Validationを適用するActionFormはValidatorFormを継承してください →import org.apache.struts.validator.ValidatorForm; public class userRegistForm extends ValidatorForm {と継承しています validator-rules.xmlは? →WEB-INFの下にあります。 <validator name="email" classname="org.apache.struts.validator.FieldChecks" method="validateEmail" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, javax.servlet.http.HttpServletRequest" depends="" msg="errors.email"/>       と確かに記入されております   struts-configにvalidation.xmlとcalidator-rules.xmlを指定していないよ。   →<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" /> </plug-in>  と入力されておりました。  原因と思われるところのご指摘をよろしくお願い申し上げます  

関連するQ&A

  • Struts2のValidation後のパラメータ

    Struts2のValidation機能を利用して入力チェックを行っているのですが、 入力画面表示時にGETパラメータを使用している場合、バリデーションエラーでINPUT画面に戻った際にGETパラメータが消えてしまいます。 Struts2: 2.3.15を使用しています 入力画面(index.jsp)は"simple/index.action?id=aa"のようにURLにGETでIDを指定する形式で表示します。(画面上に「ID:aa」が表示されます) 次にタイトル未入力のまま「確認」ボタンを押すとValidationが実行されてエラーメッセージとともに入力画面に戻ってくるのですが、「ID:」と表示され、Actionクラス(Index.java)のidが未設定の状態になります。 Validationエラー後もidがセットされ「ID:aa」が表示されるようにするにはどうすれば良いのでしょうか? Struts2 を触り始めて間もないですので質問自体が的外れかもしれません・・・ 何かアドバイスをいただけたら幸いです。 よろしくお願いいたします。 サンプルコードを以下に示します。 [struts.xml] <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="simple" extends="struts-default"> <action name="index" method="index" class="simple.action.Index"> <result name="success">/index.jsp</result> </action> <action name="confirm" method="confirm" class="simple.action.Index"> <result name="success">/confirm.jsp</result> <result name="input">/index.jsp</result> </action> </package> </struts> [Index.java] package simple.action; import com.opensymphony.xwork2.ActionSupport; public class Index extends ActionSupport{ private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } public String index(){ return SUCCESS; } public String confirm(){ return SUCCESS; } } [Index-confirm-validation.xml] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators> <!-- タイトルの必須入力チェック--> <field name="title"> <field-validator type="requiredstring"> <message>タイトルを入力してください</message> </field-validator> </field> </validators> [index.jsp] <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix="sj" uri="/struts-jquery-tags"%> <!DOCTYPE html> <html> <body> ID:<s:property value="id" /> <s:form action="confirm"> <s:textfield name="title" label="タイトル" ></s:textfield> <s:submit value="確認"></s:submit> </s:form> </body> </html>

    • ベストアンサー
    • Java
  • 【validation.xml】長さの入力チェック

    いつもお世話になっております。 validation.xmlを使用しての長さ入力チェックについてご教授ください。 validation.xmlで、下記の指定をした場合、文字列の長さが100でチェックがかかりますが(半角でも全角でも)、 文字数ではなくバイトでチェックをかける方法はどのように記述すればよろしいでしょうか? <form name="TestForm">  <field property="freearea" depends="maxlength">   <arg0 key="フリーエリア" resource="false"/>   <arg1 key="${var:maxlength}" resource="false"/>   <var>    <var-name>maxlength</var-name>    <var-value>100</var-value>   </var>  </field> </form>

  • strutsのサンプル画面について

    初めてstruts開発に携わる初心者です。 下記環境で、strutsのインストール確認を行おうと思うのですが 「The requested resource (/struts-examples/) is not available.」とエラーが発生してしまい大変困っています。 <環境> struts-1.3.8 Tomcat 6.0 jdk1.6.0_06 windowsXP <手順> (1)それぞれをダウンロード&インストール (2)JAVA_HOME、CATALINA_HOMEを設定 (3)struts-1.3.8\apps下のwarファイルをTomcat 6.0\webappsにコピー (4)http://localhost:8080/struts-blank-1.3.8で動作確認 <出力されたログ> 情報: Coyote HTTP/1.1を http-8080 で初期化します 2008/07/26 22:07:38 org.apache.catalina.startup.Catalina load 情報: Initialization processed in 1148 ms 2008/07/26 22:07:38 org.apache.catalina.core.StandardService start 情報: サービス Catalina を起動します 2008/07/26 22:07:38 org.apache.catalina.core.StandardEngine start 情報: Starting Servlet Engine: Apache Tomcat/6.0.16 2008/07/26 22:07:38 org.apache.catalina.startup.HostConfig deployWAR 情報: Webアプリケーションアーカイブ struts-examples-1.3.8.war を配備します 2008/07/26 22:07:41 org.apache.struts.action.ActionServlet initChain 情報: Loading chain catalog from jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/struts-examples-1.3.8/WEB-INF/lib/struts-core-1.3.8.jar!/org/apache/struts/chain/chain-config.xml 2008/07/26 22:07:42 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/org/apache/struts/validator/validator-rules.xml' 2008/07/26 22:07:42 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/upload/validation.xml' 2008/07/26 22:07:43 org.apache.struts.config.impl.ModuleConfigImpl addFormBeanConfig 警告: Overriding ActionForm of name localeForm 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/org/apache/struts/validator/validator-rules-compressed.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-bundles.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-i18nVariables.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-type.xml' 2008/07/26 22:07:43 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator/validation-validwhen.xml' 2008/07/26 22:07:44 org.apache.coyote.http11.Http11Protocol start 情報: Coyote HTTP/1.1を http-8080 で起動します 2008/07/26 22:07:44 org.apache.jk.common.ChannelSocket init 情報: JK: ajp13 listening on /0.0.0.0:8009 2008/07/26 22:07:44 org.apache.jk.server.JkMain start 情報: Jk running ID=0 time=0/46 config=null 2008/07/26 22:07:44 org.apache.catalina.startup.Catalina start 情報: Server startup in 5831 ms 初歩的な質問ですが何卒よろしくお願いします。

    • ベストアンサー
    • Java
  • strutsのhtml:linkの使い方

    html:linkを使用してJSPを表示した際に、前のフォームのプロパティ値(ここではstaffNumberの値)を取得したいのですが,うまくいきません。 同じ処理をhtml:submitで実行すると取得できています。 その違いを教えて頂きたいのです。 以下がそのコードです。 【struts-config】 <form-bean dynamic="true" name= "loginForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name = "staffNumber" type= "java.lang.String" /> </form-bean> <action name="loginForm" path="/login" scope="request" type="login.action.LoginAction" validate="false"> <forward name="success" path="/login.jsp" /> </action> 【login.jsp】 <html:form action="/login">  <html:text property="staffNumber" size="10"maxlength="8"/> <html:link action="/login">testlink</html:link> <html:submit value="test"/> </html:form> 【LoginAction】 public class LoginAction extends Action{ public ActionForward execute (ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception{ DynaValidatorForm loginForm =(DynaValidatorForm) form; String staffNumber=(String)loginForm.get("staffNumber"); System.out.println(staffNumber); return (mapping.findForward("success")); } } linkの処理で同じJSPを表示していますが,前のプロパティ値を取得しているかをログで確認する事を優先しているのでそのようにしています。 質問の意味がわからない、ソースの不足等ありましたら御指摘下さい。 宜しくお願いします。

    • ベストアンサー
    • Java
  • Struts 1.3.10 でoptionタグ

    初めてjavaをしている者で、質問内容は既に色々出ている様ですが 解決できなかったため、ご教授頂けないかと思い、投稿しました。 宜しくお願い致します。 エラー内容: 致命的: サーブレット jsp のServlet.service()が例外を投げました javax.servlet.jsp.JspException: org.apache.struts.taglib.html.BEAN という名前のbeanのプロパティ classcd に対するゲッターメソッドがありません java 1.6 tomcat 6.0 jsp 部分 <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd"> <%-- Strutsタグの指定 --%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <html:html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>商品マスタ登録</title> </head> <body> <%-- アクションパスを指定 --%> <html:form action="/login"> <html:select property="classcd" > <html:options collection="classcdList" property="id" labelProperty="name"/> </html:select> セッターゲッター部分 public String getClassCd() { return classcd; } public void setClassCd(String classcd) { this.classcd = classcd; } public ArrayList<SelectBoxData> getClassCdList() { return classcdList; } public void setClassCdList(ArrayList<SelectBoxData> classcdList) { this.classcdList = classcdList; } ActionForward execute部分 //月のセレクトボックスの初期化 ArrayList<SelectBoxData> list = new ArrayList<SelectBoxData>(12); for(int j = 1 ; j <= 12 ; j++){ SelectBoxData data = new SelectBoxData(); String setMonth = Integer.toString(j); data.setId(setMonth); data.setName(setMonth); list.add(data); } linFrom.setClassCdList(list); getHttpServletRequest.setAttribute("classcd", list);

  • Spring MVC + JPA + MySQL

    STSの[Simple Spring Web Maven]プロジェクトにおいて、Hibernate JPA経由でMySQLに接続し、データのselect・insertをすることについて、STS付属のtcServerで成功しました。 しかし、[Run as]→[Maven install]でwarを出力し、Tomcatにデプロイすると失敗します。 エラーメッセージ(下記のようにvalidation関係)を元に調べると、stackoverflowに何ページか(例えばhttp://stackoverflow.com/questions/21950607/abstractmethoderror-on-deploying-spring-4-0-in-tomcat-6のような情報)あったので、 pom.xmlのhibernate-validatorやvalidation-apiのバージョンを変えて色々試した結果が下記です。 ●hibernate-validatorを4.2.0.Final、validation-apiを1.1.0.Finalにすると 「Web ページが見つかりません」HTTP 404 ●hibernate-validatorを4.3.1.Finalや5.0.1.Finalや5.1.1.Final、validation-apiを1.1.0.Finalにすると HTTPステータス 500 - サーブレット dispatcherServlet のServlet.init()が例外を投げました 原因 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) (中略) 原因 java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:41) javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:276) org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:188) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541) (中略) ●hibernate-validatorを5.1.1.Final、validation-apiを1.0.0.GAにすると HTTPステータス 500 - サーブレット dispatcherServlet のServlet.init()が例外を投げました 原因 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1482) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) (中略) 原因 java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:41) javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269) org.springframework.validation.beanvalidation.LocalValidatorFactoryBean.afterPropertiesSet(LocalValidatorFactoryBean.java:188) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541) (中略) 原因 java.lang.ClassNotFoundException: javax.validation.ParameterNameProvider org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) org.hibernate.validator.HibernateValidator.createGenericConfiguration(HibernateValidator.java:41) javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:269) ちなみに、MySQLを使わないSpringプロジェクトはTomcatで正常動作しています。 また、フレームワークを使わずにサーブレットのみで書き、JDBCでMySQLに接続しSQL操作するプロジェクトはTomcatで正常動作しています。 また、war出力時にエラーや警告はありません。 解決策をどうかご教示ください。 宜しくお願いします。 [環境] Windows 7 Tomcat 7 MySQL 5 Spring Tool Suite 3.6.0

  • SystemUtilsクラスについて

    「SystemUtils.USER_NAME」というソースを既存環境から 見つけたのですが、USER_NAMEはどういった値が入っているので しょうか?。 「システムプロパティ: user.name ユーザのアカウント名。」 と「org.apache.commons.lang.SystemUtils」のJavadocには あるのですが・・。 http://www.jajakarta.org/commons/lang-1.0.1/ja/withoutPrimary/index.html よろしくお願いします。

    • ベストアンサー
    • Java
  • XMLのエラーコードの意味が理解出来ません

    XMLの初心者です、宜しくお願い致します。 XMLファイルをbuild.xmlによりXSLをを読み込ませていますが、 以下のようなエラーメッセジが出るのですが全く意味が理解出来ません。 何が原因でしょうか宜しくお願い致します。 __________________________ BUILD FAILED G:\xmlkhtgk\XML ??\???\workspace_070528\XMLproj\build.xml:19: Could not start xml validation: org.apache.xerces.parsers.SAXParser ________________________ 因みにxslの該当箇所(18行以下)と思われる内容は以下のようなコードです。 <xmlvalidate lenient="no" classname="org.apache.xerces.parsers.SAXParser" file="${doc.dir}/${xml.file}"> <attribute name="http://apache.org/xml/features/validation/schema" value="true" /> <attribute name="http://xml.org/sax/features/namespaces" value="true"/> <property name="http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation" value="${basedir}/${doc.dir}/${tagdef.file}"/> </xmlvalidate>

    • 締切済み
    • XML
  • TOMCATで上手く起動しない

    Tomcat6.0.16上で struts1.2.9ベースのWEBアプリを作成し、起動しました。 WEBアプリは3つあり、それぞれwapp1,wapp2,wapp3という名で、 warファイルを作成して、Tomcatのwebapps配下に配置して Tomcatを再起動しました。 wapp1とwapp2はまったく問題なく動作していますが、 wapp3だけ、該当のURLを叩いてもNot Foundで、コンテキスト として認識されていないようです。 今回はLinuxの本番機で問題が発生しています。開発機のEclipse では問題ありませんので、プログラムソースの問題ではありません。 以下がTomcatのログです。 Oct 12, 2011 2:59:16 PM org.apache.coyote.http11.Http11Protocol pause INFO: Pausing Coyote HTTP/1.1 on http-8080 Oct 12, 2011 2:59:17 PM org.apache.catalina.core.StandardService stop INFO: Stopping service Catalina Oct 12, 2011 2:59:17 PM org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8080 Oct 12, 2011 3:01:11 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_06/jre/lib/i386/client:/usr/java/jdk1.6.0_06/jre/lib/i386:/usr/java/jdk1.6.0_06/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib Oct 12, 2011 3:01:11 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Oct 12, 2011 3:01:11 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1691 ms Oct 12, 2011 3:01:12 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Oct 12, 2011 3:01:12 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.16 Oct 12, 2011 3:01:12 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive wapp1.war Oct 12, 2011 3:01:13 PM org.apache.struts.validator.ValidatorPlugIn initResources INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml' Oct 12, 2011 3:01:13 PM org.apache.struts.validator.ValidatorPlugIn initResources INFO: Loading validation rules file from '/WEB-INF/validation.xml' Oct 12, 2011 3:01:14 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive wapp2.war Oct 12, 2011 3:01:15 PM org.apache.struts.validator.ValidatorPlugIn initResources INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml' Oct 12, 2011 3:01:15 PM org.apache.struts.validator.ValidatorPlugIn initResources INFO: Loading validation rules file from '/WEB-INF/validation.xml' Oct 12, 2011 3:01:15 PM org.apache.struts.tiles.TilesPlugin initDefinitionsFactory INFO: Tiles definition factory loaded for module ''. Oct 12, 2011 3:01:15 PM org.apache.catalina.startup.HostConfig deployWAR INFO: Deploying web application archive wapp3.war Oct 12, 2011 3:01:16 PM org.apache.struts.validator.ValidatorPlugIn initResources INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml' Oct 12, 2011 3:01:16 PM org.apache.struts.validator.ValidatorPlugIn initResources INFO: Loading validation rules file from '/WEB-INF/validation.xml' Oct 12, 2011 3:01:16 PM org.apache.catalina.core.StandardContext addApplicationListener INFO: The listener "listeners.ContextListener" is already configured for this context. The duplicate definition has been ignored. Oct 12, 2011 3:01:16 PM org.apache.catalina.core.StandardContext addApplicationListener INFO: The listener "listeners.SessionListener" is already configured for this context. The duplicate definition has been ignored. Oct 12, 2011 3:01:17 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 Oct 12, 2011 3:01:17 PM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 Oct 12, 2011 3:01:17 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/31 config=null Oct 12, 2011 3:01:17 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 5308 ms

    • ベストアンサー
    • Java
  • struts-config.xmlの設定

    お世話になります。 strutsを使用しlogin画面を作成し、エラーならエラーメッセージを表示させ、成功なら次のページに遷移するようにしたいのですが、 その際のstruts-config.xmlの設定がわかりません。 login画面を以下のように設定(login.jsp) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <html:html> <head> <title>ログイン画面</title> </head> <body> <html:errors/> <html:form action="/login" method="post"> ユーザID : <html:text property="id"/><br> パスワード: <html:password property="password"/><br> <html:submit value="ログイン"/> </html:form> </body> </html:html> </html> struts-config.xml <form-beans> <!-- sample form bean descriptor for an ActionForm <form-bean name="LoginForm"   //jspのform actionで渡すデータ type="org.apache.struts.validator.DynaValidatorForm"/> end sample --> <!-- sample form bean descriptor for a DynaActionForm <form-property     name="userid" //jsp画面のproperty指定時に渡す type="java.lang.String"/> <form-property name="password" //passwordのとき type="java.lang.String"/> </form-bean> end sample --> </form-beans>      //actionで渡すデータの定義1 <action path="/Login"   //actionで渡すデータ type="org.apache.struts.actions.LoginAction" parameter="/pages/Input.jsp"/> //actionで渡すデータの定義2 <action path="/InputSubmit" type="app.InputAction" name="inputForm" scope="request" validate="true" input="/pages/Input.jsp"/> //actionで渡す定義3 <action path="/edit*" type="app.Edit{1}Action" name="inputForm" scope="request" validate="true" input="/pages/Edit{1}.jsp"/> end samples --> </action-mappings> の箇所を変更するのはわかるのですが、どう変更したらいいかがわかりません。 ログイン成功時画面(loginSuccess.jsp) <%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <%@ taglib uri="/tags/struts-html" prefix="html" %> LoginSuccess!! <html:form action="/nextpage" method="post"> <html:submit value="次のページ"/> </html:form> </html> と設定してます。 javaクラスの設定も関係あるのですが、今回は省略してます 。今回したいのはlogin.jsp画面を表示させたいのですが、 その際以下のエラーがでます。 org.apache.jasper.JasperException: An exception occurred processing JSP page /pages/login.jsp at line 19 16: </head> 17: <body> 18: <html:errors/> 19: <html:form action="/login" method="post"> 20: ユーザID : <html:text property="id"/><br> 21: パスワード: <html:password property="password"/><br> 22: <html:submit value="ログイン"/> よろしくお願いします。

専門家に質問してみよう