2012-02-09 27 views
0

私はstructsで新しくなっています。したがって、正しい用語を使用していないか、あまりにも曖昧です。Strutsの1回のリクエストから複数のアクションをトリガー

私はページに複数のフォームを持っています。私は各フォームのアクションプロパティをstruts-config内の別々のアクションに結びつけています。各フォームの提出は正しく機能します。しかし、私はまた、ページが読み込まれるときにすべてのフォームをあらかじめ準備しておきたいと思います。

struts configに複数のsを作成しようとしましたが、すべて同じパスであるが、それぞれが異なるタイプのプロパティを持っています。しかし、決勝だけが実行されているようだ。これらのアクションをすべて実行できるようにする方法はありますか、またはアクションが他のアクションをトリガーするような方法がありますか?私はセットアップコントローラを1つだけ作成しますが、アクションには単一のフォームを関連付けることしかできないので、動作するとは思いません。

は、私はあなたのフォームデータが関連している場合、私は

+0

なぜこれをやりたいですか?あなたが使っているバージョンも全く異なるフレームワークなので、おそらくそれを確認することは良い考えです。 –

答えて

0

わからないのStruts 1を使用していると思うが、たとえそのないが、基本データ、例えば実施して働くことができる1つの戦略:

public class DataAction extends ActionSupport 
{ 
    private Data1 data1 = new Data1() // or whatever strategy of populating data 
    public Data1 getData() { return data1 } 
    public void execute() 
    { 
     // any common execution code 
    } 
} 

、その後はちょうど彼らは、基本クラスを形成継承されるように、各フォームのデータオブジェクト(複数可)を呼び出して、各フォームJSPページから、その後

public class Form1Action extends DataAction 
{ 
    public void execute() 
    { 
    super.execute(); 
    // unique execution code 
    } 
} 

のためのアクションを拡張します。アクションの各リクエストでデータオブジェクトをロードしたくない場合は、基本データクラスでロジックを使用し、そのロジックを使用してそのデータオブジェクトを事前に準備するかどうかを決定できます。

もう一つの戦略は、すべてのフォームを個別のアクションプロセスで処理することです。繰り返しますが、これはデータと設計に応じてのみ意味があります。論理的に関連していない場合は、それらを単一のアクションにマージしないでください。

+0

また、Daveが上記で質問したより良い質問は、なぜあなたがこれをしたいのですか?私はいくつかのユースケースを想像することができますが、あなたのケースではないかもしれません。あなたのデザインやデータによっては、私が上で提案したStruts2のソリューションでさえ完全に不適切なものになる可能性があります。 – KappaMax

関連する問題