2012-07-23 3 views
1

아래 코드는 내 코드에 있습니다. jsp에서이 코드를 제거하고 jQuery 성공 후 버튼을 클릭하고 제거합니다.JSP로 애플릿이 동적으로로드됩니다.

<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를 사용하고 있습니다.

미리 도움을 주셔서 감사합니다. 내 문제에 대한 추가 정보가 있으면 알려 주시기 바랍니다.

답변

1

실제로 Java 6 문서에 따르면 애플릿을 호출하는 가장 적합한 방법은 Sun에서 제공하는 javascript를 사용하는 것입니다. 다른 브라우저는 애플릿과 다르게 처리하기 때문입니다. 어떤 이들은 EMBED 태그를 원하고 어떤 것은 APPLET 태그를 원한다.

귀하의 추천을 따르는 경우 클릭 이벤트에서 자바 스크립트를 호출하기 만하면됩니다.

<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 기반 프레젠테이션 레이어에는 동일한 아이디어가 적용됩니다.

+0

이것은 매우 잘 작동합니다. 감사합니다. 작업이 완료되면 어떻게 내릴 수 있습니까? – changeme

+0

무엇을하려고합니까? 애플릿이 실행 된 후 숨 깁니 까? 그 일을 시도하지는 못했지만 애플릿이 포함 된 컨테이너를 숨기는 자바 스크립트 함수 (예 : div의 스크립트 비트 감싸기)를 만들고 애플릿 내에서 해당 함수를 호출하려고합니다. 애플릿 코드에서 javascript를 호출하는 방법에 대한 문서를 찾으십시오. 나는 그것이 효과가있을 것이라고 생각하지만, 나는 그것을 스스로 시도하지 않았다. – Andre

+0

그렇게 해보십시오. – changeme

1

당신이 표시하기위한 템플릿과 같은 JSP 페이지를 사용하고 있다고 가정하면, 해당 페이지에서 스트럿츠 조건 태그를 배치 할 수 있습니다 :

<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> 

는 액션 클래스에서 requestSuccessState을 설정해야합니다.

+0

나는 앙드레가 제공 한 해결책을 시도했다. 답장을 보내 주셔서 감사합니다. – changeme

관련 문제