我的代码中有以下applet。我想从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。
提前感谢您的帮助。如果有关于我的问题的任何进一步信息,请告诉我。
答案 0 :(得分: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。
答案 1 :(得分:1)
实际上,根据Java 6文档,调用applet最合适的方法是使用Sun提供的javascript。这是因为不同的浏览器与applet的处理方式不同。有些人想要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的表示层。