24.7.2. JavaBeans
一般的に Seam エンティティ、 JavaBean コンポーネント、 または non-component クラスのいずれかになります。 適切なメソッドを使って Seam コンポーネントの新しいオブジェクトのインスタンス
Seam.Component.newInstance()、またはその他の場合は Seam.Remoting.createType() の新しいインスタンスを作成します。
これら 2 つのメソッドのどちらかによって生成されるオブジェクトだけがパラメータ値として使用されるはずで、このパラメータは既に存在している有効なタイプのひとつにはなりません。 以下のように厳密にパラメータタイプを決定できないコンポーネントメソッドがあるかもしれません。
@Name("myAction")
public class MyAction implements MyActionLocal {
public void doSomethingWithObject(Object obj) {
// code
}
}
この場合、
myAction のインターフェースはそのいずれのメソッドからも直接参照されないため myWidget を含みません。 したがって MyWidget コンポーネントのインスタンスを明示的にインポートしない限りそれを渡すことができません。
<s:remote include="myAction,myWidget"/>
これにより
myWidget オブジェクトが Seam.Component.newInstance("myWidget") で作成されるようになり、 myAction.doSomethingWithObject() に渡されます。