いいね!数

0

閲覧数
271

スクリプトライブラリ内でXPages用のサーバーJavaScriptを記述していますが一部のファンクションのプログラムがやたらと長くなったのでそこのファンクションのみ切り出して別名を付けたサーバーJavaScriptにしてLotus ScriptのUse ステートメントみたいな方法で呼び出して使いたいのですが。
調べてもJavaScriptでそういった動きをさせる方法が見つかりません。
方法はあるのでしょうか?

サーバー情報: | クライアント情報: | 
カテゴリ:Notes - 使い方 | タグ:
  | 質問日時:2016/11/08 16:33:18

回答・コメント

いいね!数

1

理解が間違っていたらすみません。

2つのSSJSスクリプトライブラリを用意して片方に記述の関数からもう片方に記述の関数を呼び出したいということでしょうか?

そうであれば、大本になるXPages、もしくはカスタムコントロールが両方のスクリプトライブラリを読み込んでさえいれば普通に呼び出しあうことが可能なはずです。

見当違いな回答でしたらすみません。

回答日時:2016/11/08 14:51:59

いいね!数

0

やりたいことを説明しますと・・・・・。

(現在の構成)
(A).XPages[(B)を呼び出し]
(B).スクリプトライブラリ上のJS[ファンクション[X][Y][Z]]

ファンクション[X][Y][Z]は画面用、承認ボタン用 等

(行いたい構成)
ファンクション[Y]のプログラムが長くなってしまったので[Y]のみ切り出して

(A).XPages[(B)を呼び出し
(B).スクリプトライブラリ上のSSJS[ファンクション[X][Z]]<---LotusScriptのUSEみたいな方法で(C)を呼び出したい
(C).スクリプトライブラリ上のSSJS[ファンクション[Y]]

(A)はそのままにして(B)から(C)を呼び出して使えないかと思った次第です。

回答日時:2016/11/09 7:01:20

いいね!数

2

自分の知る限りでは(B).スクリプトライブラリから(C).スクリプトライブラリを呼び出す(読み込む)ということは出来ません。

通常は大本になるXPages、もしくはカスタムコントロールが両方のスクリプトライブラリを読み込む必要があるはずです。

 

話はそれますがこちらの質問への回答を調べるにあたり面白い記事を見つけたので共有しておきます。

DXL経由でSSJSライブラリを動的にインポート?
http://hasselba.ch/blog/?p=1080

SSJSコードをリモートで実行?(URL参照でSSJSコードの関数を直接呼び出せるようになっているっぽい)
http://hasselba.ch/blog/?p=832
 

どちらも、今回の質問への回答とは違いますがもしかするとこういった高度なロジックを自前で作ってやることで実装は可能かもしれません。

回答日時:2016/11/08 17:24:52

いいね!数

0

やはり無理ですか、(A)はソースコードを変更せず(B)からパラメータ情報を受け取るだけでWeb画面を表示するようしたフレームワーク的なプログラム構成にしてあるアプリケーションなので(A)を変更したくなかったのですが、(B)に各フォームのフィールド数に依存する箇所があり予想外に長くなってしまったのでこういう質問をした次第です。
(A)を変更するか、諦めて(B)をこのままにしておくか考えます。
ありがとうございました。

回答日時:2016/11/11 7:30:32

いいね!数

0

結果的には(A)変更ですけど(A)は別制御のカスタムコントロールを使っていたので(B)から切り出した(C)のライブラリー呼び出すコードをその別制御のカスタムコントロールに追加しました。これでXPagesの(A)自体のコードは変更せずに目的が満たせました。

回答日時:2016/11/11 7:39:55