今現在、struts1系を使用してシステム開発中です
自分が作成したモジュールと他の方が作成したモジュールの単体テストが大方完了してモジュールをマージして動作確認をしている段階です
ただ、struts-config.xml上で確認されるのは自分は自前で作ったformクラスを使用して開発していたのですが、他の方はDynaActionFormを用いたモジュールの構成になっていました。struts-config.xml上で1つのaction-mappingsに対して1つのフォームクラスのみ割り当てることが出来るという認識でいます。自分が作成したフォームクラスも扱いたい分にはセッションに格納すれば問題ないかと思いますが以下2つの問題点があります。
jsp上の画面上でhtml:formタグをモジュール別に振り分けられればと思うのですが、画面の仕様上だったり、レイアウト崩れが発生するなどでどうしても1つにまとめるしかないです。(初期表示画面は自分が作成したフォームクラス1つのみの使用での実装になると思っています)
自分が作成した初期表示画面から他の方が作成した画面に遷移する際、初期表示画面に自分が作成したフォームクラス内のList型のproperty listの値が参照できないというエラーが出る。
初期表示.jsp
<nested:iterate property="list">(自分が作成したフォームクラスのList型の変数listに対応しています)
エラーログ
(java.lang.IllegalArgumentException: Non-indexed property for 'list[0]'
at org.apache.struts.action.DynaActionForm.get(DynaActionForm.java:294)
struts-config.xml上の他の方が作成したモジュール箇所に
<form-property name="list" type="(自分が作成したフォームクラス)" />
また、
<form-property name="list" type="java.util.List" />
と書き加えても変わらないようでした
そもそも自分が作成したフォームクラスに該当するpropertyタグが他にもたくさんあるのですがなぜlistだけに対してエラーがでるのか疑問です
2.
初期表示画面にてテーブル上のボタンをクリック時そのテーブルの番地をjsp上でセッションに変数として格納
↓
他の方が作成したActionクラスにてjsp上で格納した変数を取り出して処理
上記のような処理というのは実装可能なのでしょうか?
自分が作成したモジュールの分では普通にhiddenでactionクラスに値を保持することはできたのですが、他の方が作成したモジュールだと勝手が違うので上記の様な処理を実装しなくてはなのかと思います
1.については
dynaactionform を扱う際はgettersetterを省略できるということだったと思うので何でエラーになっているかよくわからないという状況です
あなたの回答
tips
プレビュー