0.7我想调用一个Applet来使用令牌。Vaadin 7和applet
我做了各种测试: 1)AppletIntegration 1.2.9使用,但是当我把小应用程序有一个异常“ClassNotFoundException的PaintTarget” 2)下载旧版1.2.10但是当我CAL的页面我有例外“”Widgetset不包含org.vaadin.applet.AppletIntegration的实现。检查它的@ClientWidget映射,widgetset GWT模块描述文件并重新编译你的widgetset。如果您已下载vaadin附加软件包,则可能需要参阅附加组件说明。非再生UIDL:
org.vaadin.applet.AppletIntegration(没有客户端实施来找到)” 3)我创建了一个类AppletCustom
public class AppletCustom extends CustomComponent {
public AppletCustom(String codebase,
String archive,
String code,
String width,
String height,
Map<String, String> params) {
setCompositionRoot(new Label("<div id='appletDiv'></div>", ContentMode.HTML));
StringBuilder sb = new StringBuilder();
/* create the applet */
sb.append("var obj = document.createElement('object');");
sb.append("obj.setAttribute('type','application/x-java-applet');");
sb.append("obj.setAttribute('width','" + width + "');");
sb.append("obj.setAttribute('height','" + height + "');");
sb.append("var codeParam = document.createElement('param');");
sb.append("codeParam.setAttribute('name', 'code');");
sb.append("codeParam.setAttribute('value', '" + code + "');");
sb.append("obj.appendChild(codeParam);");
sb.append("var archiveParam = document.createElement('param');");
sb.append("archiveParam.setAttribute('name', 'archive');");
sb.append("archiveParam.setAttribute('value','" + archive + "');");
sb.append("obj.appendChild(archiveParam);");
sb.append("var param = document.createElement('param');");
sb.append("param.setAttribute('name', 'codebase');");
sb.append("param.setAttribute('value','" + codebase + "');");
sb.append("obj.appendChild(param);");
/* add params to the applet if you like */
if(params != null && !params.isEmpty()){
Iterator<Entry<String, String>> it =
params.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> pairs = (Map.Entry<String, String>) it.next();
sb.append("param = document.createElement('param');");
sb.append("param.setAttribute('name', '" + pairs.getKey() + "');");
sb.append("param.setAttribute('value','" + pairs.getValue() + "');");
sb.append("obj.appendChild(param);");
}
}
sb.append("document.getElementById('appletDiv').appendChild(obj);");
JavaScript.getCurrent().execute(sb.toString());
}
}
和我把它在页面中。小程序正确显示,但我必须使用该方法返回值
vaadinUpdateVariable("docName", docName + SIGNED_FILE_SUFFIX, true);
我该如何解决我的问题?