2013-06-09 10 views
5

アプリケーション設定を保存するNotesビューでNotes文書を管理するマネージドBeanを設定したいとします(例えば、添付ファイル、アプリケーションのタイトル、どのロゴを表示するかなど) このようなBeanの例は誰ですか?Notes文書で動作するマネージドBeanの設定方法

現在、SSJSライブラリをアプリケーションスコープまたはセッションスコープ変数のすべての場所にロードします。

答えて

12

このような管理対象Beanの簡単な例を次に示します。

最初にJavaクラスを作成します。私はそれを "Config"と呼んだ。ビュー "Config"の最初の文書を読み込み、インスタンス化時に(=最初の呼び出し時)、項目をJavaフィールドに配置します。これを行うと、すべてのアイテムを読み込んだ後にドミノオブジェクトをリサイクルし、その値をメモリに保存することができます。

<faces-config> 
    <managed-bean> 
    <managed-bean-name>config</managed-bean-name> 
    <managed-bean-class>de.leonso.Config</managed-bean-class> 
    <managed-bean-scope>application</managed-bean-scope> 
    </managed-bean> 
</faces-config> 
あなたはスコープ "アプリケーション"(サーバーあたりのインスタンス)または "セッション" として使用することができます

(インスタンス:

package de.leonso; 
import java.io.Serializable; 
import lotus.domino.Database; 
import lotus.domino.Document; 
import lotus.domino.View; 
import com.ibm.xsp.extlib.util.ExtLibUtil; 

public class Config implements Serializable { 
    private static final long serialVersionUID = 1L;  
    private String applicationTitle; 
    // ... other private fields 

    public Config() throws NotesException { 
     Database db = ExtLibUtil.getCurrentSession().getCurrentDatabase(); 
     View view = db.getView("Config"); 
     Document doc = view.getFirstDocument(); 
     applicationTitle = doc.getItemValueString("ApplicationTitle"); 
     // ... read all other items and store them in private fields 
     doc.recycle(); 
     view.recycle(); 
     db.recycle(); 
    } 

    public String getApplicationTitle() { 
     return applicationTitle; 
    } 

    // ... getters for other private fields 

} 

次faces-config.xmlファイルでのマネージドBeanとして、このJavaクラスを定義しますユーザーあたり)。

次に、あなたはJavaScriptで設定Beanを使用することができます。

#{javascript:var titel = config.applicationTitle; ...} 

または式言語:

#{config.applicationTitle} 

設定Beanの高度なバージョンを開発するためにあなたに良い出発点を与える必要があること。

+1

この回答は本当によかったです。さらに詳しい情報については、notesjn9.com/XPages.tvにいくつかのビデオがあります。ジェレミー・ホッジは3部のイントロをしました。 Russ Maherにはいくつかのコンテンツがあり、私は "What is Java Beans"のショーを行いました。すべてXPageに対応しています。私はすぐにこのトピックについてさらにいくつかのショーを持っています。 –

0

アプリケーションスコープのBeanは間違いなくこれを行うための良い方法です。 Javaに慣れたら、代わりにVariableResolverやOSGiプラグインを使用することを検討したいと思うかもしれません。また、xsp.propertiesから値を取得するためのXSnippetも投稿しました。これはいくつかの設定にも適しています。http://openntf.org/s/retrieve-property-from-xsp.properties-in-nsf-server-or-notes.ini

関連する問題