在JSP / JSF / HTML中加载第一个applet后调用第二个applet

时间:2013-04-02 09:35:07

标签: java html jsp jsf applet

我正在开发一个JSP / JSF页面,其中两个applet使用tag嵌入。 问题是第一个小程序有一些信息将在页面上更新,第二个小程序必须使用该信息正确加载。

我找不到可以控制applet调用的方法。 (这些applet是第三方applet,我可以将两个applet结合起来)。我想知道如何知道第一个小程序已加载,然后调用/启用或显示第二个小程序。

下面是我在页面上用于applet的标签。

<object
              name="CSHelper" id="CSHelperId"
              classid="clsid:9C840-044E-11D1-B3E9-5F499D93" 
              width="100%" 
              HEIGHT="0" 
              ALIGN="middle" 
              codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0_11-windows-i586.cab#Version=1,5,0,11">

              <param name="code" value="ClientUtil"/>
              <param name="ARCHIVE" value="HelperApplet.jar"/>

            </object>


              <object style="display:none"
                  name="ivrTelephonyBarName" id="ivrTelephonyBarId"
                  classid="clsid:89C840-044E-11D1-B3E9-0599D93"
                  width="100%"
                  HEIGHT="75"
                  ALIGN="middle"
                  codebase="http://java.sun.com/update/1.5.0/jinstall-1_5_0_11-windows-i586.cab#Version=1,5,0,11">

                  <param name="code" value="<%=cTIConnectionParams.getAppletJarClass()%>"/>
                  <param name="ARCHIVE" value="<%=cTIConnectionParams.getAppletJar()%>"/>

                  <param id="AGENT_ID" name="AGENT_ID" value="<%=cTIConnectionParams.getAgentID()%>"/>
                  <%--<param id="sAgentID" name="sAgentID" value="0202"/>--%>
                  <param id="AGENT_PASS" name="AGENT_PASS" value="<%=cTIConnectionParams.getAgentPassword()%>"/>
                  <param id="INSTRUMENT" name="INSTRUMENT" value="<%=cTIConnectionParams.getInstrument()%>"/>

                  <param id="params" name="params" value="<%=cTIConnectionParams.getParams()%>"/>

                  <param id="iconsPath" name="iconsPath" value="<%=contextCtiUrl%>images/appletIcons/"/>
                  <param id="configPath" name="configPath" value="<%=contextCtiUrl%>"/>
              </object>

我想首先申请“CSHelperId”,然后是故意没有透露的最后一次。 任何技术都适合我。

1 个答案:

答案 0 :(得分:0)

你可以在第一个小程序中混合使用javascript代码

    public void init() {
       JSObject document = JSObject.getWindow(this);
       String evalString = "document.getElementById('secondAppletPanel').innerHTML = ";
       document.eval(evalString + secondAppletHtmlString);
    }

现在你可以构建一个字符串,其中包含由你的第一个applet计算的参数,也可以修改字符串内容 您需要使用id secondAppletPanel放置并清空div,您希望显示第二个小程序,并将 mayscript 属性添加到您的第一个小程序中(更多信息JSObject