Angular.js 和 Java 小程序

Angular.js and Java Applet

我正在尝试使用 Angular.js 通过小程序调用 java 函数但没有成功。我什至没有加载 Applet(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"/>

谢谢。

我们用下面的代码得到它:

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');
            }
        };
    }
})();