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

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

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

キー 説明
user ログオンアカウント
pass パスワード
forwardUrl 遷移先画面に関する情報

例えば顧客モデル(customer)の一覧表示画面を開く場合、次のようになります。ホスト名は適切に読み替えてください。

http://localhost:8921/wagby/logon.do?user=admin&pass=admin&forwardUrl=showListCustomer

ログオン処理は行うが、ログオン後、メニュー画面をスキップして顧客モデル(customer)の一覧表示画面を開く場合、次のようになります。

http://localhost:8921/wagby/logon.do?forwardUrl=showListCustomer
  • パラメータ forwardUrl は「画面名」を記載してください。ここで、画面名とはログオン後のメニュー選択時に URL に表示される部分に相当します。
  • 遷移先画面用の追加パラメータを指定しない場合、末尾の ".do" は不要です。
  • forwardUrl パラメータを省略した場合は、メインメニュー画面へ遷移します。
  • ログオンアカウントまたはパスワードを省略した場合は、ログオン画面へ遷移します。ログオン後、forwardUrl で指定した画面へ遷移します。
  • ログオンアカウントまたはパスワードが間違った場合も、ログオン画面へ遷移します。同時に、画面上には「ユーザ名またはパスワードが間違っています。パスワードを連続して複数回間違えるとアカウントがロックされる場合があります。ご注意ください。」というエラーメッセージが表示されます。
この方法はパラメータにパスワードを含みます。運用に際してはセキュリティリスクを十分にご検討の上、ご利用ください。

例:新規登録画面を開く

URL に action_New パラメータを加えます。値部分も同じく "New" とします。

http://localhost:8921/wagby/logon.do?user=admin&pass=admin&forwardUrl=insertCustomer.do?action_New=New

接頭語 "action_" のあとに続く文字列は「イベント」として扱われます。詳細は「画面遷移パラメータまとめ」をお読みください。

例:検索条件を付与する

forwardUrl パラメータ内に含める&は、"%26" に置換してください。これは forwardUrl パラメータ以降の文字列をひとまとまりとして扱えるようにするためです。

http://localhost:8921/wagby/logon.do?user=admin&pass=admin&forwardUrl=showListCustomer.do?action_Search_Condition=Search_Condition%26customer_cp$002f整数型項目1jshparam=整数値%26customer_cp$002f整数型項目2jshparam=整数値
  • 上例で、検索条件を格納するモデル名は customer_cp と表現しています。詳細は「コンディションモデル」をお読みください。
  • 上例の「整数型項目」は適切に読み替えてください。Wagbyでは整数型項目は範囲を指定することができます。開始と終了を、それぞれ接尾語 "1jshparam", "2jshparam" を付与することで区別します。
  • コンディションモデル名と項目名の間は "$002f" で区切ります。これは '/' 文字を utf-8 でエンコードした表現となっています。

例:日本語文字を含む検索条件を付与する

遷移先を showListStaff.do とします。また、検索条件部を次のようにします。

?action_Search_Condition=Search_Condition&staff_cp$002fname=鈴木 一郎

まずパラメータのマルチバイト文字列「鈴木 一郎」のみをURLエンコードします。文字エンコーディングは utf-8 としてください。

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

次に「画面URL」と「パラメータ」を連結します。

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

この文字列をもう一回URLエンコードします。

showListStaffSub.do%3Faction_Search_Condition%3DSearch_Condition%26amp%3Bstaff_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=admin&forwardUrl=showListStaffSub.do%3Faction_Search_Condition%3DSearch_Condition%26amp%3Bstaff_cp%24002fname%3D%25E9%2588%25B4%25E6%259C%25A8%2520%25E4%25B8%2580%25E9%2583%258E
forwardUrl に指定するパラメータ値のうち「=」「$」「?」「.」はURLエンコードしなくても動作します。つまりURLエンコードが必要な文字は「&」「%」及びマルチバイト文字となります。

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

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

任意の画面を開くことができます。

スマートフォン

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

携帯電話

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

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

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

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

次の例は、外部からシステム管理者でログオンし、メンテナンスモードを有効にします。

http://localhost:8921/wagby/logon.do?user=admin&pass=admin&forwardUrl=maintenanceApp.do?__jfc_app_mode=Maintenance

メンテナンスモードを解除するには、パラメータ__jfc_app_modeにNormalを指定します。

http://localhost:8921/wagby/logon.do?user=admin&pass=admin&forwardUrl=maintenanceApp.do?__jfc_app_mode=Normal