検索条件をパラメータとして指定する
最終更新日: 2020年3月14日
R8 | R9
Wagbyの検索画面は次の命名規則があります。
「モデルID」部の表記はキャメル記法に従います。これは先頭を大文字とします。また、モデルIDにアンダースコア "_" が含まれていた場合、これを除去し、その次の文字を大文字とします。例えばモデルID が customer_order の場合は CustomerOrder になります。
モデル customer の検索画面を開く場合、次の URL となります。
メール文中に上記 URL を記載して送信すると、受信者はそのリンクをクリックすることで、当該画面を直接、開くことができます。(正確には最初にログオン画面が開きます。認証後、メニュー画面ではなく直接、上記で指定した画面が開きます。)
モデル定義で検索条件を有効にした項目について、URLパラメータで指定することができます。
ここで「モデルID_cp」と、接尾語 "_cp" が付与された表記は、検索条件を格納したことを意味します。
また、$002f は "/" 文字を意味します。これはモデルIDと、項目IDの区切りとなります。
モデルIDが customer の、検索条件 customerid に、値 1000 を指定する場合は次の表記となります。
日本語(を含む、英語以外の文字)をパラメータに渡す場合は、UTF-8 でエンコードした文字を渡します。
例えば customername が "やまだ" を検索する場合は、次のようになります。
UTF-8 でエンコードされた表記は、インターネット上に公開されているさまざまなサービスを用いて作成することができます。検索エンジンで "urlエンコード" で検索するとよいでしょう。
パラメータ名は、自動生成された JSP ファイルで確認し、コピー&ペーストするとよいでしょう。
wagbyapp/webapps/プロジェクト名/モデルID/ フォルダの中に「condition + "モデルID" + Cp.jsp」というファイルがあります。これをテキストエディタで開くと、次のようなコードが見つかります。
この name="..." の部分が、パラメータ名になります。
数値型項目や日付型項目の場合、開始と終了を指定できます。それぞれ次のようになります。
項目IDに接尾語 "1jshparam" が付与されたものが開始になります。"2jshparam" が付与されたものが終了になります。
モデル参照項目の場合は、内容部ではなくID部を渡します。パラメータ名の命名規則は次のとおりです。
これは内部では「モデルID_cp/項目ID[1]/@id」という表記として扱われます。
例えば、顧客区分(のID部)が "1" の顧客を検索する場合のパラメータは次のようになります。
複数のパラメータは「&」で区切って表記します。この場合、内部では "かつ" (AND条件) として検索されます。
基本形
画面の命名規則
showList<ModelID>.do
例
http://localhost:8921/wagby/showListCustomer.do
パラメータを指定する
検索項目の命名規則
モデルID_cp$002f項目ID=値
例1 値を設定する
http://localhost:8921/wagby/showListCustomer.do?customer_cp$002fcustomerid=1000
例2 日本語の値を設定する
http://localhost:8921/wagby/showListCustomer.do?customer_cp$002fcustomername=%e3%82%84%e3%81%be%e3%81%a0
自動生成されたファイルから、パラメータ名を確認する
<tags:input_text name="customer_cp$002fcustomername" ... />
範囲指定
モデルID_cp$002f項目ID1jshparam
モデルID_cp$002f項目ID2jshparam
モデル参照
モデルID_cp$002f項目ID$005b1$005d$002f$0040id
http://localhost:8921/wagby/showListCustomer.do?customer_cp$002fkubun$005b1$005d$002f$0040id=1
複数のパラメータを指定する
http://localhost:8921/wagby/showListCustomer.do?customer_cp$002fcustomername=%e3%82%84%e3%81%be%e3%81%a0&customer_cp$002fkubun$005b1$005d$002f$0040id=1