サポート > リポジトリ > 応用例 > 外部システムから直接、Wagby の任意の画面を開く

URLにアカウントとパスワードを含めることで、外部システムから直接、Wagby 上の画面を開くことができます。

外部システムから直接、Wagby 上の画面を開くことができます。この場合、URL に次の情報を含めます。

  • ログオンアカウント (user)
  • パスワード (pass)
  • 開きたい画面の名前 (forwardUrl)

具体的な表記例を示します。

http://localhost:8921/wagby/logon.do?user=admin&pass=ADMINPASSWORD&forwardUrl=showListCustomer
http://... にあるホスト名、ポート番号、アプリケーション名などは、ご利用環境にあわせてください。

パラメータ forwardUrl は「画面名」を記載してください。(末尾の ".do" は不要です。)
forwardUrl パラメータ内に含める&は、"%26" に置換してください。これは forwardUrl パラメータ以降の文字列をひとまとまりとして扱えるようにするためです。

画面名は、ログオン後のメニュー選択時に URL に表示される部分に相当します。

forwardUrl パラメータを省略した場合

メインメニュー画面へ遷移します。

ログオンアカウントまたはパスワードを省略した場合

ログオン画面へ遷移します。

ログオンアカウントまたはパスワードが間違った場合

ログオン画面へ遷移します。同時に、画面上には「ユーザ名またはパスワードが間違っています。パスワードを連続して複数回間違えるとアカウントがロックされる場合があります。ご注意ください。」というエラーメッセージが表示されます。

新規登録画面を開く

URL に action_New パラメータを加えます。値は "New" とします。

http://.../wagby/insertモデルID.do?action_New=New

整数型項目に検索条件を渡す

http://localhost:8921/wagby/logon.do?user=admin&pass=ADMINPASSWORD&forwardUrl=showListモデルID.do?action_Reset=%26MODELID_cp$002f整数型項目1jshparam=整数値%26MODELID_cp$002f整数型項目2jshparam=整数値
  • forwardUrl以下の文字列では、'&' は %26 へエンコードしてください。
  • 検索条件モデルには _cp が付与されます。例 staff_cp
  • 検索条件モデル内の項目を指定するために、_cp の後ろに '$002f' を付与してください。
  • 整数型項目は通常、範囲検索が可能です。範囲の開始部には '1jshparam' を、終了部に '2jshparam' を付与します。

文字列型項目に日本語文字を含む検索条件を渡す

画面URLを showListStaffSub.do とします。検索条件部を次のようにします。

?action_Reset=&staff_sub_cp$002fname=鈴木 一郎

まずパラメータのマルチバイト文字列「鈴木 一郎」のみをURLエンコードします(文字エンコーディングはUTF8)

?action_Reset=&staff_sub_cp$002fname=%E9%88%B4%E6%9C%A8%20%E4%B8%80%E9%83%8E

次に「画面URL」と「パラメータ」を連結した文字をURLエンコードします。

showListStaffSub.do?action_Reset=&staff_sub_cp$002fname=%E9%88%B4%E6%9C%A8%20%E4%B8%80%E9%83%8E

さらに、上記文字列を再びURLエンコードします。

showListStaffSub.do%3Faction_Reset%3D%26staff_sub_cp%24002fname%3D%25E9%2588%25B4%25E6%259C%25A8%2520%25E4%25B8%2580%25E9%2583%258E
この時は対象文字列にマルチバイト文字は含まれていないので、文字エンコーディングはどれを指定しても結果は変わりません。

このようにして作成された文字列を logon.do の forwardURL のパラメータ値として指定します。

http://localhost:8921/wagby/logon.do?user=admin&pass=ADMINPASSWORD&forwardUrl=showListStaffSub.do%3Faction_Reset%3D%26staff_sub_cp%24002fname%3D%25E9%2588%25B4%25E6%259C%25A8%2520%25E4%25B8%2580%25E9%2583%258E

forwardUrl に指定するパラメータ値のうち「=」「$」「?」「.」は URLエンコードしなくても動作します。つまり URLエンコードが必要な文字は「&」「%」及びマルチバイト文字となります。このルールを適用し、URLエンコード対象文字を限定して用意することもできます。

まとめますと、日本語文字(マルチバイト文字)は、2回URLエンコードした値に置換してください。(文字エンコーディングはUTF8です。)

ログオンアカウント、パスワードを含めた URL の場合

任意の画面が開きます。

携帯電話 URL の例

http://localhost:8921/wagby/mobileLogon.do?user=admin&pass=ADMINPASSWORD&forwardUrl=showListScheduleMobile

スマートフォン URL の例

http://localhost:8921/wagby/mobileSafariLogon.do?user=admin&pass=ADMINPASSWORD&forwardUrl=showListScheduleMobile

ログオンアカウント、パスワードを含めない URL の場合

PC のブラウザでは、ログオンアカウント、パスワードを省略した場合にはログオン認証後に指定画面へリダイレクトされますが、携帯電話・スマートフォンの場合は、指定画面へリダイレクトされず、メニュー画面が表示されます。

メニュー画面はログオンアカウントでログオン後に表示されるメニューと同じになります。(admin でログオンすればadmin のメニューが表示されます。)