2011-11-11 7 views
1

Stripesフレームワークを初めて使用しています。私はいくつかの助けが必要です。Stripes:別のActionBeanからActionBeanのメソッドを呼び出す

別のActionBeanからActionBeanのメソッドを呼び出す必要があります。たとえば、私は2つのActionBeanを

を持っている:

@SessionScope 
public class SessionActionBean extends AbstractActionBean{ 

    private String property;   

    public void setUsername(String username) { 
     this.username = username; 
    } 
} 

そして

public class TestActionBean extends AbstractActionBean { 

    ... 

    public Resolution submitTest() {   

     //TODO Call setUsername is SessionActionBean 
    } 

    ... 
} 

私はTestActionBeanからSessionActionBeanのsetUsernameを呼び出すにはどうすればよいですか? SessionActionBeanがセッションスコープではない場合事前に

おかげ

答えて

3

いくつかのこと:

ユーザーのセッションにデータを格納したい場合は、@SessionScopeはあなたが望むものではありません、本当に。 ActionBeanContextを拡張し、コンテキストに格納されているゲッターとセッターを書くほうがよいでしょう。詳細については、http://www.stripesframework.org/display/stripes/State+Managementを参照してください。

本当に本当に@SessionScopeを使用したいのであれば、javadocの警告を読んで、本当に必要なものがあることを確認してください。

http://stripes.sourceforge.net/docs/current/javadoc/net/sourceforge/stripes/action/SessionScope.html

セッションスコープActionBeansは一般 著者によって奨励されていないので、非常に少数の手当は セッションスコープの豆に対応するために、ストライプ状に行われます。

最後に、実際に1つのアクションBeanから別のアクションBeanにメソッドを呼び出すのは、Beanのインスタンス化とメソッドの呼び出しと同じくらい簡単です。これは奇妙で逆行していて、インスタンス化されたBeanはStripesコンテキストのものを継承しませんが、それを実行できます。

@Resolutionに@Resolutionをもう1つ呼び出せば、それも可能です:ForwardResolution(Class<? extends ActionBean> beanType)

+0

ストライプ状態管理へのリンクが更新されました:https://stripesframework.atlassian.net/wiki/plugins/servlet/mobile?contentId=492007#content/view/492007 – RobertG