2014-02-27 2 views
2

애플릿을 만드는 자바 스크립트 함수에 문자열 변수를 전달할 때 큰 문제가 있습니다. 내 자바 클래스에서스트럿츠와 자바 스크립트가있는 문자열 변수

내가 요청

ActionContext.getActionContext().getRequest().setAttribute("endpoint",endpoint); 

throught를 변수 "엔드 포인트"를 통과하고있어하지만 JSP 페이지에서이를 복구 할 수 없습니다입니다. 몇 가지 HTML 및 스트럿츠 요소를 시도했지만 js 함수에서 가져올 수 없습니다. (JSP로 포함) 내 JS 함수의 코드에 대한 변수를 복구는 다음과 같습니다 당신이 나에게 손을 빌려 수

var endpoint = document.getElementById('endpoint'); 

희망. 대단히 감사드립니다.

편집은 다음의 js 함수의 코드는 다음과 같습니다

function createApplet(){ 
var content = '<APPLET id="applet" '+ 
     'code="com.usr.local.AppletFiles.class" '+   'archive="applet/wsdl4j.jar,applet/xercesImpl.jar,applet/log4j.jar,applet/commons-logging.jar,applet/axis-ant.jar,applet/axis-schema.jar,applet/commons-discovery.jar,applet/jaxrpc.jar,applet/axis.jar,applet/saaj.jar,applet/serializer.jar,applet/xalan.jar,applet/xml-apis.jar,applet/JarApplet.jar">'+ 
     ' width="0" height="0" mayscript="true" >'; 

    var tableApplet = document.getElementById('tableApplet'); 

    var endpoint = document.getElementById('endpoint'); 
    alert('Endpoint: '+ endpoint); 

    var param= ''; 

    for(i=0;i<tableApplet .rows.length;i++){ 

    content += '<PARAM NAME="'+tableApplet .rows[i].cells[0].innerHTML+'" VALUE="'+tableApplet .rows[i].cells[1].innerHTML+'">'; 

    param+= tableApplet .rows[i].cells[0].innerHTML+'#'; 

    } 

content += '<param name="parametros" value="'+nombreParametros+'">'; 

content += '<param name="endpoint" value="'+endpoint+'">'; 

content +='&lt;/APPLET&gt;'; 

alert('content ' + content); 

return content ; 
} 
+0

는 자바 스크립트를 사용하여 애플릿을 만들려면 어떻게해야합니까 코드를 표시합니다. –

+0

StackOverflow에 오신 것을 환영합니다! 자바 스크립트에서 요청 속성을 읽을 수 없습니다. 여기를보십시오 : http://stackoverflow.com/questions/15238647/passing-a-java-variable-to-a-javascript-function –

+0

Angelo 감사합니다. ¿ "endpoint"매개 변수를 jsp에 포함 된 html 코드에 전달한 다음 html 코드에서 복구 할 수 있습니까? – Darkcloud

답변

0

: 당신의 JSP에서

은 다음과 같습니다 : JSP에서

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

그리고 다음을 :

<script type="text/javascript"> 

var endpoint = '<c:out value="${pageContext.request.endpoint}"/>'; 

</script> 
JSP는 당신이 엔드 포인트에서 글로벌 JS 변수 요청 attibute 값을 가지게됩니다 전에 클라이언트 브라우저에서 렌더링 서버에 평가

하고, n 당신은 당신의 js 코드에서 그것을 사용할 수 있습니다. 각 클라이언트가 원하는 전에 해당 계정에 걸릴

  • 내가 아카이브 매개 변수에 너무 많은 항아리를 참조하십시오

    난 당신이 여러 가지 이유로 잘못된 목적을 위해 애플릿을 사용하는 것이 가능하다고 생각하지만

    애플릿을 실행하면 JVM 플러그인에 의해 이러한 모든 jar를 클라이언트 시스템에 다운로드해야합니다.이 경우 너무 많은 시간이 걸릴 수 있습니다. 또한 엔드 포인트를 호출하려는 경우 Java 인식 CA가 발행 한 승인 된 인증서로 모든 병을 서명해야합니다.

  • 애플릿이 일부 원격 서비스를 호출하는 것처럼 보입니다 ... 왜? 극단적으로 필요하지 않으면 왜 서버에서하지 않습니까?

희망이 도움이,

2

사용 OGNL은 자바 스크립트 코드의 요청 속성의 값 주입 :

var endpoint = '<s:property value="%{#request.endpoint}" />'; 

는 또한 OGNL Basics에서 살펴를, 특히 페이지의 마지막 테이블

당신은, 당신은 비슷한해야 JSTL 태그 ( http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm)를 사용하고 자바 스크립트 VAR에 요청 속성을 넣을 수 있습니다
관련 문제