JavaScript を介してアプレット メソッドを呼び出す必要があります
私のアプレットメソッドは次のようになります
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>
アプレットの機能にアクセスできないため、ここで何か不足していますか