私はstruts初心者です。私はForm
、Action
、jsp view
です。イベントのフォームのプロパティのstruts 1.xでビューを作成する方法
<form-beans>
<form-bean name="bookEventForm" type="com.example.BookEventForm" />
</form-beans>
<action path="/bookEvent"
type="com.example.BookEventAction"
name="bookEventForm"
input="/WEB-INF/jsp/bookEvent.jsp"
scope="request">
<forward name="success" path="/WEB-INF/jsp/bookEvent.jsp" />
</action>
一つ私がAction
で行うCountry
ので最初の事はあるさ:私が使用してselect要素をレンダリングビューで
request.setAttribute("countries", countriesDao.getAll());
:
<html:select property="..." >
<html:optionsCollection name="countries" ... />
</html:select>
ActionForm#validateを追加していくつかの妥当性チェックを行うまでは正常に動作します(例:surname!= nullなどの国には関係ありません)。
エラーが発生するとすぐにstruts specによって、Action#execute
は実行されません。したがって、countries
コレクションは要求に含まれなくなり、ビューは空のselect要素でレンダリングされます。
私は、おそらくストラットのいくつかのコア概念が欠けていることを知っています。友人はビューでDAOを利用できるように提案したので、いつでも国を取得できますが、JSPコードが実行される前にビュー(プリフェッチDBデータ)を作成することをお勧めします。
アイデア?
validate()メソッドで読み込んでいる国を追加すると機能しますが、レイヤーとMVCにはっきりと違反しています。 – cherouvim