1

我的代码中有以下小程序。我想从 jsp 中删除此代码,并在单击按钮时包含并在 jQuery 成功后删除。

<applet id="jzebra-applet" name="jZebra" code="jzebra.PrintApplet.class" archive="${pageContext.request.contextPath}/jzebra.jar" width="1" height="1">
      <param name="printer" value="zebra">
</applet>

我正在使用 jQuery 和 Struts2。

提前谢谢你的帮助。如果有任何关于我的问题的进一步信息,请告诉我。

4

2 回答 2

1

假设您使用与模板相同的 JSP 页面进行显示,您可以在页面中放置一个 Struts 条件标记:

<s:if test="%{requestSuccessState == false}">

<applet id="jzebra-applet" name="jZebra" code="jzebra.PrintApplet.class" archive="${pageContext.request.contextPath}/jzebra.jar" width="1" height="1">
      <param name="printer" value="zebra">
</applet>

</s:if>

确保在 Action 类中设置 requestSuccessState。

于 2012-07-23T18:56:58.410 回答
1

实际上,根据 Java 6 文档,调用 applet 最合适的方法是使用 Sun 提供的 javascript。这是因为不同的浏览器对小程序的处理方式不同。有些人想要 EMBED 标签,有些人想要 APPLET 标签等等。

话虽如此,如果您遵循他们的建议,只需在您的点击事件中调用 javascript。

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
function runApplet(){
    var attributes = {
    code : 'jzebra.PrintApplet.class',
    archive : '${pageContext.request.contextPath}/jzebra.jar',
    width : 500,
    height : 300
    };
    var parameters = {
    printer : 'zebra'
    };
    var version = '1.6';
    deployJava.runApplet(attributes, parameters, version);
}
</script>
...
<h:commandButton value="Run applet" onclick="runApplet();" action="#"/>

我在这里使用来自 JSF 的 commandButton,但同样的想法适用于您正在使用的任何基于 html 的表示层。

于 2012-07-23T19:29:37.693 回答