ページの先頭行へ戻る
Interstage Interaction Manager V9.1.1 Interstage Portalworksシナリオ作成支援ガイド

4.6.4 スクリプト実行(execDoc.jsp)

スクリプト実行用のシナリオファイルには、以下を記述します。

<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@include file="/scenario/docInit.jsp"%>

<%@ page import="java.util.Hashtable"%>

<pwst:prologueDoc/>

<pwst:content type="HTML" contentId="two"/>

<!-- スクリプト実行プラグイン -->
  <OBJECT
    ID="PwAppCtl" CLASSID="CLSID:E1475B7A-A060-4A31-8011-A12F22FAAFE3"
    CODEBASE="<%=scenarioContext.makeContentLink("pwappctl.cab")%>#6,1,0,1">
    <COMMENT>
    <APPLET 
      name="PwAppCtl" code="PWAppCtlN4.class"
      archive=”pwappns.jar”
      codebase="<%=scenarioContext.makeContentLink("pwappns.jar")%>"
       width="0" height="0">
    </APPLET>
    </COMMENT>
  </OBJECT>

<script>
// Form画面でOKボタンを押したときに呼ばれる関数
function onInput(){
         window.event.returnValue = false;

         var userid = new String(form1.userid.value);
         if(userid == null || userid.length == 0){
                  alert("ユーザIDを入力してください。");
                  return;
         }

         var pw = new String(form1.pw.value);
         	if(pw == null || pw.length == 0){

                  alert("パスワードを入力してください。");
                  return;
         }

         // アプリケーションの開始
         startApp();
}

// アプリケーションの開始
function startApp(){
         //代理入力情報を設定
         document.PwAppCtl.SetAppParam("TeamWARE", "userid", document.form1.userid.value);
         document.PwAppCtl.SetAppParam("TeamWARE", "pw", document.form1.pw.value);

         // スクリプト実行開始
         result = document.PwAppCtl.Run("<%=scenarioContext.makeContentLink("two.js")%>");

         // 正常に開始できた場合は、代理入力情報を保存する
         if(!bAutoInput && (result == 0)){
                  url = "<%=scenarioContext.makeLink()%>";
                  url += ";action=store";
                  url += ";userid=" + document.form1.userid.value;
                  url += ";pw=" + document.form1.pw.value;
                  window.navigate(url);
         }else{
                  // エラー時はメニューに戻る
                  url = "<%=scenarioContext.makeLink()%>";
                  url += ";action=menu";
                  window.navigate(url);
         }
}
</script>

<%
         // Portalworksに記憶されている代理入力情報を取り出す
         Hashtable param = scenarioUtil.getWinAppParam("TeamWARE");

         String userid = "";
         String pw = "";
         if(param != null){
                  Hashtable sub;

                  // ユーザID
                  sub = (Hashtable)param.get("0");
                  if(sub != null)
                           userid = (String)sub.get("value");

                  // パスワード
                  sub = (Hashtable)param.get("1");
                  if(sub != null)
                           pw = (String)sub.get("value");
         }
%>

<!-- Formへ設定 -->
<form method=POST action="#" name="form1">
ユーザID:<input type=text name="userid" value="<%=userid%>"><br>
パスワード: <input type=password name="pw" value="<%=pw%>"><br>
<input type=submit value=OK onClick=onInput();>
</form>

<%
// 代理入力情報があるか確認
if(userid.equals("") || pw.equals("")){
%>
         <script>
                  // 代理入力情報がない
                  bAutoInput=false
         </script>
<%
}else{
%>
         <script>
                  // 代理入力情報を自動入力した
                  bAutoInput=true

                  // アプリケーション開始
                  startApp();
         </script>
<%
}
%>

<pwst:epilogueDoc/>