4

ログインページと登録ページを備えた小さな Struts アプリケーションを作成しました。ログインすると、成功ページが表示されます。登録すると、パスワードを確認し、一致する場合はパスワード フィールドを確認します。成功ページが表示され、そうでない場合は失敗ページが表示されます。

データベースは使用しませんでした。必要なフォーム Bean、それらのアクション クラスを作成しました。

タグでstruts-config.xmlエラーが表示されています:<struts-config>

「要素タイプ「struts-config」の内容は「(datasource?,form-b​​eans?,global-forwards?,action-mapping?)」と一致する必要があります

この問題を解決するにはどうすればよいですか? IDE として Eclipse を使用しています。

4

4 に答える 4

2

はい、struts-config.xmlスキーマによると無効ですが、アプリが機能しているため、これは検証の問題に過ぎません。子要素の順序のコンテキストで無効である理由を詳しく説明するには-バリデーターがそれを伝えている場合...

要素タイプ「struts-config」の内容は、「(datasource?,form-b​​eans?,global-forwards?,action-mapping?」) と一致する必要があります。

...つまり、たとえば(簡潔にするために例を減らします):

<struts-config>
  <datasource>...</datasource>
  <form-beans>...</form-beans>
  <global-forwards>...</global-forwards>
  <action-mapping>...</action-mapping>
</struts-config>

...スキーマの有効な実装ですが、たとえば...

<struts-config>
  <datasource>...</datasource>
  <global-forwards>...</global-forwards>
  <form-beans>...</form-beans>
  <action-mapping>...</action-mapping>
</struts-config>

...ではありません。ところで、これは、問題の Struts 1.0 DTD が言うという事実によるものです...

<!ELEMENT struts-config (data-sources?,form-beans?,global-forwards?,action-mappings?)>

...そしてそれによって、子要素の特定の順序が要求されます。これは、DTD の作成者が不注意で行うものではなく、次の事実によるものです。

DTD で発生制約を使用して順序付けられていないリストを宣言すると、多くの場合、長くて複雑に見える宣言になります。1

于 2015-07-29T11:05:37.900 に答える
1

struts-config.xmlファイルが無効です。

Struts-config.xmlはXMLファイルであるため、DTDまたはXMLスキーマに対して検証できます。

Eclipseに表示されるエラーは、struts-config.xmlファイルがDTDに対して検証され、検証が失敗した結果です。ほとんどの場合、タグが特定の順序になっていることを期待していて、そのように記述しなかった、DTDで指定されていないタグを追加した、タグのスペルを間違えたなどです。

struts-config DTDを見てから、struts-config.xmlファイルを見て、それらがどこで異なるかを確認してください。

PS DTDにはさらに多くのバージョンがあるので、正しいバージョンを見ていることを確認してください。

http://struts.apache.org/dtds/struts-config_1_0.dtd
http://struts.apache.org/dtds/struts-config_1_1.dtd
http://struts.apache.org/dtds/struts-config_1_2 dtd
http://struts.apache.org/dtds/struts-config_1_3.dtd
http://struts.apache.org/dtds/struts-config_1_4.dtd

于 2011-03-03T20:54:24.740 に答える