私はXPages RESTコントロールを使用して、RESTコントロール自体が存在するデータベースとは異なるデータベース内のリソースにアクセスしています。それは簡単です、私はちょうどdatabaseNameプロパティ を使用しています。私は外部データベース(databaseNameプロパティで参照されているもの)へのハンドルを取得したいと思う、それはむしろ挑戦しているようです この特定の場合私は、ビューの列の数式で親文書のデータにアクセスするためのハンドルが必要です。関係する外部データベースがない場合は、グローバルデータベースプロパティを使用するだけですが、RESTコントロールをホストするデータベースを指しているため、この場合は機能しません。XPages REST-Control。外部データベースへのハンドルを取得する方法
答えて
私は非常にフランク・ファン・デル・リンデンは簡単に使用する方法/機能を取得プロパティによって参照することができXSPプロパティとして設定し、コメントで推奨され、あなたのデータを作るの素敵な副作用を持っているものをお勧めしますアプリケーション間で簡単に接続呼び出しをコピー/貼り付けることができます。
例:
私は<app>/WebContent/WEB-INF/xsp.properties
で、data property name stored as an xsp propertyを持っている:
xsp.local.data=MyApp_data.nsf
私はa managed bean to perform the app config作品を使用して行われます。
<managed-bean>
<managed-bean-name>confBean</managed-bean-name>
<managed-bean-scope>application</managed-bean-scope>
<managed-bean-class>com.myApp.config.AppUtil</managed-bean-class>
</managed-bean>
これはmy AppUtil beanはデシベルパスにプロパティを設定することを意味:
ExtLibUtil.getXspContext().getProperty("xsp.local.data", "MyApp_data.nsf")
*注:最初のパラメータはプロパティ名で、第二は、「デフォルト」である(フェイル・オーバー)の値が、イベントでそれは完全なパスを引っ張って次にプロパティの値
を見つけることができません。 restService、あなたがする必要があるだろう、すべてが値に突き出すあるが、そのように(:デフォルトの列とviewJsonService同じサーバを想定し、例がXEを示しています):
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex">
<xe:restService
id="restService1"
pathInfo="data">
<xe:this.service>
<xe:viewJsonService
databaseName="#{confBean.dbAppPath}"
viewName="SomeView"
defaultColumns="true" />
</xe:this.service>
</xe:restService>
</xp:view>
を[更新しますXEについて]
Sven Hasselbach氏は以下のコメントで指摘しているように、管理プロパティはxspプロパティファイルを編集することなくほぼ同じ結果を達成し、マネージドBean定義とインラインで(アプリケーションに対して明示的な)プロパティを保持します。 XPages managed beans and scoped variables上の彼の答えから取られた、ここにスヴェンは管理プロパティ使用して、同じことをする方法の例です:
彼のコンフィグ豆で
<managed-bean>
<managed-bean-name>myBean</managed-bean-name>
<managed-bean-class>ch.hasselba.xpages.MyBean</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-property>
<property-name>dbName</property-name>
<value>MyName</value>
<property-class>java.lang.String</property-class>
</managed-property>
</managed-bean>
faces-config.xml
では、それは(ラPOJO)任意のプロパティとして定義されています、私有財産と公共ゲッター/セッターを持つ:
//...
private String dbName;
public void setDbName(String dbName) {
this.dbName = dbName;
}
public String getDbName() {
return dbName;
}
//...
使用できるだけで任意の管理対象Beanのプロパティとして:
<xp:text
value="#{myBean.dbName}" />
代わりに管理プロパティを使用するのはなぜですか? –
これは、この例が1つのプロパティにのみ焦点を当てており、マネージドBeanのプロパティに 'static final'値を注入するための素晴らしい方法であるため、これはかなり役に立ちます。私はそれを私の答えに加えました。 –
ありがとう、以下の質問に対する自分の答えをご覧ください。たぶん、元の質問ではっきりしていないかもしれませんが、私の懸念事項は、データベースへのパスではなくdbオブジェクト自体を扱う方法に関するものです。 –
私の元の質問では指摘されていませんでしたが、外部データベースへのパスを定義するconfig-servletがあります。
多くのオーバーヘッドを発生させない方法で、データベースオブジェクトのハンドルを取得する方法についての質問がありました。昨日のPaul Winters(OpenNTFチャンネル)との議論の後、私は今、ビュー列で外部DBを開くことは完全に大丈夫だと確信しています。
var pid = rowData.getColumnValue("r_companyid"); var path = configBean.getDbPath(no.mycompany.myapp.Configuration.DB_PATH_CONTACTS); var contactsDb:NotesDatabase = session.getDatabase(database.getServer(), path); var docParent:NotesDocument = contactsDb.getDocumentByUNID(pid); retVal = docParent.getItemValueString("CompanyName");
むしろサービス内の外部ソースへのハンドルを探しているよりも、最終的な解決のための私のコードをneededSoたび、私は単純にコードのいくつかのシンプルなラインに沸くコードでDBを開きます
- 1. scalafxのコントローラーからTableViewへのハンドルを取得する方法
- 2. タスクバーへのハンドルを取得します。
- 3. Sharepoint外部Webサービスへのリクエストの取得方法
- 4. SQLiteデータベースの外部キーの取得
- 5. ウィンドウ10内のウィンドウ内のTextBoxコントロールへのハンドルを取得する方法
- 6. Codeigniter:読み込まれたモデルへの(nother)ハンドルを取得する方法?
- 7. Lotus Notes Xpages、APIドキュメントの "Content-Range"を取得する方法
- 8. 内部システムエラーのLotus NotesのXPagesデータベース
- 9. WebApplicationContextを現在のサーブレットコンテキストの外部に取得する方法
- 10. Nodejsのループの外部変数を取得する方法
- 11. 外部ウェブページのスクリーンショットイメージを取得する最速の方法
- 12. 他のページで外部ページのHTMLを取得する方法
- 13. XPages OpenLog - 間違ったデータベースへのログ
- 14. matplotlib:既存のtwinx()軸のハンドルを取得する方法は?
- 15. 既知のデータテーブルのハンドルを取得する方法
- 16. Vimで外部コマンドの戻り値を取得する方法
- 17. Jquery:イベントの外部変数を取得する方法
- 18. 外部キーからオブジェクトの値を取得する方法は?
- 19. Android、外部ストレージディレクトリのリストを取得する方法
- 20. 外部アプリケーションでUI要素のコントロールを取得する方法
- 21. node.jsからサーバの外部IPを取得する方法
- 22. 外部ウェブサイトのベースURLを取得する方法
- 23. 外部のウェブサイトからdivテキストを取得する方法
- 24. 外部キーの情報を取得する方法
- 25. 現在のBrowserWindowでハンドルを取得する方法
- 26. 新しいステージのハンドルを取得する方法Controller JavaFX
- 27. WPFのハンドルからウィンドウを取得する方法
- 28. get {set?}でフォームのハンドルを取得する方法
- 29. iOSのステータスバーでハンドルを取得する方法
- 30. キーボードデバイスのハンドルを取得する方法は?
これが役立つかどうかわかりませんが、これはBluemixの外部データベースに接続して検索可能なRESTサービスを作成する方法です - http://xomino.com/2015/11/27/xpages-in-bluemix-creating-a-searchable -rest-service/ – MarkyRoden
この外部databaseNameは、xsp.propertiesファイルまたは独自のプロパティファイルに格納します。したがって、アプリケーション全体がこのパラメータから恩恵を受けることができます –