0

私はStrutsを初めて使用します。現在、Struts1.3を使用して簡単なContactアプリケーションを構築しています。

データベースの連絡先リストを含むデータテーブルを表示したいのですが、同じページに新しい連絡先を作成するためのフォームを作成し、それをデータベースに挿入したいと思います。

私はSpringBeanとHibernateを使用して、データベースの操作とロジックを実行しています。これが私のフローです。アクションクラスはSpringBeanを呼び出し、Spring Beanはデータベース操作のためにdaoクラスを呼び出してロジックを実行します。次に、アクションクラスはリストをcontactListという名前のリクエストオブジェクトに入れ、jspファイルで私はlogicLiterateタグを使用して繰り返します。

テーブルの表示とすべての送信は正常に機能しますが、ActionFormで検証を行い、エラーメッセージを表示したい場合、エラー500が発生します。これは、jspがリクエストオブジェクトでcontactListという名前の属性を見つけられないためです。これはActionFormクラスのエラーであり、Strutsはデータベースを読み取ってリクエストオブジェクトに配置するActionクラスのメソッドを呼び出さない。ActionFormでSpringBeanを呼び出してみることができますが、エラーがなければ同じ作業でSpring Beanを2回呼び出すため、適切ではないのではないかと思います。あなたは私に何をするように提案しますか?

4

1 に答える 1

0

ドキュメントを注意深く読まないのは悪いことですが、struts-config.xmlのアクションタグに「input」属性があることを理解しました。この属性は、エラーが発生した場合にリクエストの転送先となる物理ページを指定します。

私の場合、ActionクラスがActionメソッドを実行できるように、現在のパス(/contacts.doなど)に入力属性を指定する必要があります。

このリクエストは転送要求であり、リダイレクトではないことに注意してください。

于 2012-07-26T08:25:57.600 に答える