1

我需要通过javascript调用一个applet方法

我的小程序方法是这样的

public class MD5encryption extends Applet {

private static final long serialVersionUID = 1L;

public static String doTheEncryption(final String strText) throws NoSuchAlgorithmException, NoSuchProviderException {

    String strResult = null;
    /* do the encryption*/
    return strResult;
  }
}

我的jsp文件是这样的

<%@ taglib prefix="s" uri="/struts-tags"%>
<script src= "http://www.java.com/js/deployJava.js"></script>
<script>
    <!-- applet id can be used to get a reference to the applet object -->
    var attributes = { id:'md5appletId', code:'com.package.encryptionMD5.MD5encryption',  width:1, height:1} ;
    var parameters = {jnlp_href: 'parameters.jnlp'} ;
    deployJava.runApplet(attributes, parameters, '1.6');
</script>
<div>
    <div>
        <s:form action="Login" validate="true">
            <s:textfield name="userName" label="User ID" maxlength="10"
                required="true" onkeypress="return onlyNumbersChars(event)"
                onchange="showDob(this,true)" />
            <s:password name="password" label="Password" required="true"
                maxlength="14" />
            <tr><td><div>
                        <input type="submit" value="Login" onclick="encrypt()"/> <a href="LoginLink.html">Forgot Password?</a>
            </div></td></tr>
        </s:form>
    </div>
</div>

<script language="javascript">
    function encrypt(){
        var password = document.getElementsByName('password')[0];

        var md5OfPass = md5appletId.doTheEncryption(password.value);
        password.value = md5OfPass;        

    }
</script>

我还在使用与小程序位于同一位置的 jnlp 文件

<?xml version="1.0" encoding="UTF-8"?>
 <jnlp spec="1.0+" codebase="" href="">
    <applet-desc name="Applet Takes Params" main-class="MD5encryption"
     width="800" height="50">
         <param name="paramStr" value="parameter String"/>
         <param name="paramInt" value="22"/>
    </applet-desc>     
</jnlp>

我是否在这里遗漏了什么,因为我无法访问小程序的功能

4

0 回答 0