intra-mart Accel Kaiden! / プログラミングガイド

«  Actionクラスの作成   ::   コンテンツ   ::   動作確認  »

JSPの作成

/WEB-INF/view/kaiden2/tutorial/master/masterTutorial/masterTutorialMainte.jspを作成します。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="im" uri="http://www.intra-mart.co.jp/taglib/im-tenant" %>
<%@ taglib prefix="k" uri="http://kaiden.slcs.co.jp/taglib/ui" %>
<%@ taglib prefix="klist_base" uri="http://kaiden.slcs.co.jp/taglib/listdata/base" %>
<%@ page import="jp.co.slcs.kaiden2.base.foundation.conf.BaseProp" %>
<%@ page import="jp.co.slcs.kaiden2.tutorial.foundation.conf.TutorialProp" %>

<%-- product_workflow 共通インクルード --%>
<c:if test="${empty pwkfCommonIncluded}" scope="request">
  <jsp:include page="/WEB-INF/view/kaiden2/product_workflow/foundation/commonInclude.jsp"></jsp:include>
  <c:set var="pwkfCommonIncluded"  scope="request">true</c:set>
</c:if>

<%--汎用マスタ一覧・検索 --%>
<%-- 設定 --%>
<c:set var="gadgetClass">tutorialMainte</c:set>
<c:set var="gadgetVariation">v01</c:set>
<c:set var="gadgetInstance">${param.gadget_instance}</c:set>
<c:set var="gadgetId">${gadgetClass}_${gadgetVariation}_${gadgetInstance}</c:set>
<c:set var="gadgetTitle">${maintenanceDto.settings.title}</c:set>
<c:set var="accessUrl">${maintenanceDto.settings.ajaxAccessUrl}</c:set>

<c:set var="surfaceStartDate"><%= BaseProp.S.START_DATE %></c:set>
<c:set var="surfaceConcatChar"><%= BaseProp.S.CONCAT_CHAR %></c:set>
<c:set var="surfaceEndDate"><%= BaseProp.S.END_DATE %></c:set>
<c:set var="surfaceCompany"><%= BaseProp.S.COMPANY %></c:set>
<c:set var="surfaceTutorialCd"><%= TutorialProp.S.TUTORIAL_CD %></c:set>
<c:set var="surfaceTutorialName"><%= TutorialProp.S.TUTORIAL_NAME %></c:set>

<%-- バリデーション --%>
<c:set var="validStartDate_def">{k_required:[''], k_date:['']}</c:set>
<c:set var="validEndDate_def">{k_required:[''], k_date:[''], k_dateMin:['startDate']}</c:set>
<c:set var="validCompanyCd_def">{k_required:[''], k_companyExists:['companyCd', '', 'true']}</c:set>
<c:set var="validTutorialCd_def">{k_required:[''],k_kaidenId:[''], k_maxLength:['100']}</c:set>
<c:set var="validTutorialName_def">{k_required:[''], k_maxLength:['250']}</c:set>



<%-- 期間一覧ガジェット --%>
<div class="kaiden-ui-master-term-list">
  <jsp:include page="/WEB-INF/view/kaiden2/base/foundation/gadget/genericMasterTermList.jsp" flush="true">
    <jsp:param name="gadget_instance" value="0" />
  </jsp:include>
</div>
<div class="kaiden-ui-master-maintenance-area">
  <k:gadgetContainer gadgetClass="${gadgetClass}"
                     gadgetVariation="${gadgetVariation}"
                     gadgetInstance="${gadgetInstance}"
                     gadgetTitle="${gadgetTitle}"
                     gadgetId="${gadgetId}"
                     hideGadgetTitle="true"
                     class="kaiden-ui-master-maintenance-input-area">
                     
  <k:blockContainer id="inputArea">
    <form id="inputForm" onsubmit="return false;">
      <table class="imui-form" style="table-layout:fixed">
          <colgroup>
            <col style="width:170px;" />
            <col />
          </colgroup>
          <tr style="height:30px;">
              <th>
                  <k:surface surfaceKey="${surfaceStartDate}"  style="display:inline-block" requiredMark="true"/>
                  <k:surface surfaceKey="${surfaceConcatChar}" style="display:inline-block" />
                  <k:surface surfaceKey="${surfaceEndDate}"  style="display:inline-block" requiredMark="true"/>
              </th>
              <td>
                  <k:date name="startDate"
                          mode="0"
                          surfaceKey="${surfaceStartDate}"
                          validationDefault="${validStartDate_def}"
                          />
                  <k:surface surfaceKey="${surfaceConcatChar}" style="display:inline-block;margin-left:1em;margin-right:1em;"/>
                  <k:date name="endDate"
                          mode="0"
                          surfaceKey="${surfaceEndDate}"
                          validationDefault="${validEndDate_def}"
                          />
              </td>
          </tr>
          <tr>
              <th>
                  <k:surface surfaceKey="${surfaceCompany}" requiredMark="true"/>
              </th>
              <td>
                  <klist_base:listDataCompany name="readParmitCompany" type="readParmitCompany" blank="false"/>
                  <k:select name="companyCd"
                            mode="0"
                            validationDefault="${validCompanyCd_def}"
                            surfaceKey="${surfaceCompany}"
                            dataName="readParmitCompany"
                            style="width:300px;"
                            includeDisabled="true"/>
              </td>
          </tr>
          <tr>
              <th>
                  <k:surface surfaceKey="${surfaceTutorialCd}" requiredMark="true"/>
              </th>
              <td>
                  <k:codeText name="tutorialCd"
                          mode="0"
                          style="width:300px;"
                          surfaceKey="${surfaceTutorialCd}"
                          validationDefault="${validTutorialCd_def}"
                          maxlength="100"
                          />
              </td>
          </tr>
  
          <tr>
              <th>
                  <k:surface surfaceKey="${surfaceTutorialName}" requiredMark="true"/>
              </th>
              <td>
                  <k:text-locales name="tutorialName"
                          mode="0"
                          style="width:300px;"
                          surfaceKey="${surfaceTutorialName}"
                          validationDefault="${validTutorialName_def}"
                          imeMode="on"
                          maxlength="250"
                          />
              </td>
          </tr>
                  <k:hidden name="renewCnt" mode="0"/>
                  <k:hidden name="termCd" mode="0"/>
                  <k:hidden name="deleteFlag" mode="0"/>
                  <k:hidden name="pk_json" mode="0"/>
      </table>
    </form>
  </k:blockContainer>
  </k:gadgetContainer>
  <script type="text/javascript">
  jQuery(function($) {
      
      var eventMan = KAIDEN.getGadget("${gadgetId}").eventManager
        , inputAreaAccessor = KAIDEN.getGadget("${gadgetId}").blockAccessors["inputArea"];
       
      //trunsNewEntry(新規入力画面表示)イベントリスナの登録
      eventMan.registPushListener("trunsNewEntry", function(/**Object*/arg) {
          //入力欄を一括クリア
          KAIDEN.getGadget("${gadgetId}").clearInput("inputArea");
          
          //開始日・終了日にシステム開始日・システム終了日を設定
          inputAreaAccessor("startDate").setValue("${k:getSystemStartDate()}");
          inputAreaAccessor("endDate").setValue("${k:getSystemEndDateDecrement()}");
          
          //開始日・終了日、会社、チュートリアルコードをdisabled
          inputAreaAccessor("startDate").removeDisabled();
          inputAreaAccessor("endDate").removeDisabled();
          inputAreaAccessor("companyCd").removeDisabled();
          inputAreaAccessor("tutorialCd").removeDisabled();
          
          if (inputAreaAccessor("companyCd").elem().children().length > 0) {
              inputAreaAccessor("companyCd").elem().get(0).selectedIndex = 0;
            }
          
          //会社をフォーカス
          inputAreaAccessor("companyCd").elem().focus();
          
      });
      
      //loadData(表示対象データのロード)イベントリスナの登録
      eventMan.registPushListener("loadData", function(/**Object*/arg) {
          var ajax = KAIDEN.Ajax()
          , criteria = {}
          , stat = false;
          
          criteria.criteriaJson = arg;
        
          ajax.postSyncAuto("${accessUrl}/select", criteria
              , function(returnData) {
                //正常系
                //メンテナンス画面にデータセット
                for (var key in returnData.mainteTarget) {
                    inputAreaAccessor(key).setValueIgnore(returnData.mainteTarget[key]);
                }
                inputAreaAccessor("pk_json").setValue(arg); //主キーを保存
                stat = true;
            }
            , function(returnData) {
              stat = false;
            }
          );
          return stat;
      });
      
  
      //trunsRenewEntry(更新画面表示)イベントリスナの登録
      eventMan.registPushListener("trunsRenewEntry", function(/**Object*/arg) {
            //開始日・終了日、会社、チュートリアルコードをdisabled
            inputAreaAccessor("startDate").disabled();
            inputAreaAccessor("endDate").disabled();
            inputAreaAccessor("companyCd").disabled();
            inputAreaAccessor("tutorialCd").disabled();
            
            $("div[data-kaiden-gadget-id='${gadgetId}'] input[data-kaiden-org-name^='tutorialName']").eq(0).focus();
            
      });
      
      //currentPrimaryInfo(現在表示中データの主キーを要求)イベントリスナの登録
      eventMan.registPullListener("claimCurrentDataPk", function(/**Object*/arg) {
          return inputAreaAccessor("pk_json").getValue(); //主キーを返却
      });
  
  });
  </script>
  <%-- マスタメンテナンス汎用ボタンガジェット --%>
  <div style="clear:both;">
    <jsp:include page="/WEB-INF/view/kaiden2/base/foundation/gadget/genericMasterOperationButton.jsp" flush="true">
      <jsp:param name="gadget_instance" value="0" />
      <jsp:param name="maintenanceGadgetId" value="${gadgetId}" />
    </jsp:include>
  </div>
</div>

ノート

ファイルパスは「マスタメンテナンス機能設定ファイル」で設定します。

«  Actionクラスの作成   ::   コンテンツ   ::   動作確認  »