Forums: Open Discussion (Thread #18117)

UserValueObjectの参照 (2008-03-25 17:46 by nazozen #35751)

お世話になります。またお願いいたします。

Webチュートリアルでlogon時にUserValueObjectを生成していますが、これをビジネスロジック、例えばListBLogicで参照するには、どのように記述すればよいのでしょうか?

Reply to #35751×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: UserValueObjectの参照 (2008-03-25 21:39 by yggd #35753)

生成された UserValueObject は
以下、tutorial-thin/webapps/WEB-INF/blogic-io.xml の設定により、セッション ( HttpSession )の属性値として格納されます(*1)。

--- blogic-io.xml 記述例(/logon)
<action path="/logon">
・・・(略)
<blogic-result>
<set-property property="USER_VALUE_OBJECT"
blogic-property="uvo"
dest="session" />
</blogic-result>
</action>
---

# このときセッション上では、USER_VALUE_OBJECT をキーとして SampleUVO を格納しています。

さて、ListBLogic 内部では、直接セッション上に触れることはできません(*2)。
その代わり、blogic-io.xml でセッション上のオブジェクトを BLogic の引数オブジェクトに持ってくることができます。

# blogic-io.xml の記述は以下のようになります。
--- blogic-io.xml 記述例(/list)
<action path="/list">
<blogic-params bean-name="java.util.HashMap">
・・・(略)
<set-property property="USER_VALUE_OBJECT" source="session" /> ←追加
</blogic-params>
<blogic-result>
・・・(略)
</blogic-result>
</action>
---

これにより、ListBLogicImpl#getUserList() メソッドで引数の map のキーに USER_VALUE_OBJECT を指定することで、SampleUVO が取得できます。

[ 注意 ]
チュートリアルのListBLogicImpl#getUserList() の引数のMap は、ジェネリックタイプ指定により、キー・値ともに String となっています。

このままでは、SampleUVO は取得できず、コンパイルエラーが発生しますので、引数の型を

---
Map<String, Object>
---

などとする必要があります。

# その他、ListBLogic#getUserList() 等、
# 付随するものにも影響します。


[ 参考 ]
『TERASOLUNA Server Framework for Java(Web版) 機能説明書 WB-01 ユーザ情報保持機能』

(*1) 設定の詳細につきましては、
『TERASOLUNA Server Framework for Java(Web版) 機能説明書 WH-02 ビジネスロジック機能』
をご覧ください。


(*2) 理由について。
- BLogic, AbstractBLogicAction以後のsessionの使用について -
<http://sourceforge.jp/forum/forum.php?thread_id=17638&forum_id=13381>
Reply to #35751

Reply to #35753×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: UserValueObjectの参照 (2008-03-26 11:15 by nazozen #35757)

ご回答、ありがとうございました。Listでの取得、うまく行きました。

連続になりますが、引き続きよろしくお願いいたします。

現在Terasoluna-WebとRichを融合して、Logon部分をWeb版で、データ一覧をRich版のXMLで、というようにしています。
実際にやりたかったのは、このRich版のビジネスロジックでUserValueObjectを取得することで、先の質問はこれの前段階に当たるものです。

現時点ではWeb版、Rich版のそれぞれのチュートリアルを融合して、ログオン後のHTMLにRich版とのやり取りを行うフォームを置き、XMLのやり取りまではできています。

そこで、このような場合でRich版のSimpleBLogicでWeb版で保存したUserValueObjectを取得する方法をご教授願います。
Reply to #35751

Reply to #35757×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login