【问题标题】:Angular.js and Java AppletAngular.js 和 Java 小程序
【发布时间】:2015-05-21 13:49:30
【问题描述】:

我正在尝试使用 Angular.js 通过小程序调用 java 函数,但没有成功。我什至没有加载小程序(加载应用程序时 java 控制台没有启动)。我使用了以下方法但没有成功。有什么想法吗?

Binding applet parameters with angularJS

angularjs and closing tags

PS:它在 Chrome 中并启用了 NPAPI。

PS2:我使用以下代码通过 Knockout 获得它(我们正在迁移到 Angular)

var res = document.getElementById("cdigApplet").signFile(file.id().toString(), "" , api.token);

signFile() 是 Java Applet 中的一个方法。

HTML:

<applet id="cdigApplet" code="cdig.CDigApplet" archive="cdig-applet-1.0.jar, cdig-0.3.jar, json-20141113.jar" width="1" height="1" classloader_cache="false">
<param name="persistState" value="false" />
<param name="cache_option" value="no"/>

谢谢。

【问题讨论】:

  • 是否可以从 JavaScript 调用 Applet 中的 Java 方法?
  • 是的,正如我之前所说,我可以使用 Knockout 而不是 Angular 来获得上面的代码。
  • @user489041 是的。可以肯定的是,只要加载了小程序,方法就是公共的,并且 HTML 声明了正确的属性。
  • 显示整个 HTML。小程序是我们可以访问的地方吗?网址是什么?
  • @AndrewThompson 我已经用 HTML 更新了帖子。谢谢。

标签: java javascript angularjs applet


【解决方案1】:

我们通过下面的代码得到了它:

index.html

<script>
    <!-- applet id can be used to get a reference to the applet object -->
    var attributes = { id:'cdigApplet', code:'cdig.CDigApplet', archive:'cdig-applet-1.0.jar, cdig-0.3.jar, json-20141113.jar', width:1, height:1, classloader_cache:'false'} ;
    var parameters = {persistState: false, cache_option:'no' } ;
    deployJava.runApplet(attributes, parameters, '1.8');
</script>

signController.js

(function() {
    'use strict';

    angular
        .module('app')
        .controller('signController', signController);

    signController.$inject = ['$rootScope', '$scope','listFactory', 'infoService'];

    /* @ngInject */
    function signController($rootScope, $scope, listFactory, infoService) {
        var vm = this;
        var token = $rootScope.token;
        $scope.name = infoService.getName;

        ////////////////

        $scope.signFile = function () {
            var fileId = infoService.getId();
            var Id = fileId.toString();
            var res = document.getElementById("cdigApplet").signFile(Id, '', token);            

            var json = JSON.parse(res);
            if (json.success === true)
            {
                alert("Documento assinado com sucesso! Clique em 'Abrir' para ver a assinatura.");
                $('#sign').modal('hide');
            }
            else
            {
                alert("Documento não assinado!\n" + json.message);
                $('#sign').modal('hide');
            }
        };
    }
})();

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    相关资源
    最近更新 更多