2009-12-24 6 views
0

안녕하십니까 jsp 안에있는 태그 안에 자바 스크립트 호출로 자바 변수를 출력해야합니다!자바 스크립트 렛 변수를 자바 스크립트 변수처럼 출력하기

<% String param = "hello";%> 

<dmf:checkbox name="checkbox" 
    onclick = "selectAll(<%=param%>)" 
/> 

생성 된 자바 스크립트는 다음과 같습니다 :

selectAll(<%=param%>),this);하지만 실제로이 같은

selectAllCheckBoxes(Hello),this); 

답변

2

그건 도망 가지 않습니다. 그것은 JavaScript 변수 인 것처럼 스크립틀릿 변수를 출력하는 것입니다.

게다가 예제가 혼란스럽고 서로 일치하지 않으며 자바 스크립트 코드가 구문 적으로 유효하지 않습니다. 적어도 JavaScript 문자열 변수는 따옴표로 묶어야한다고 말할 수 있습니다. 당신이 Hello이 스크립틀릿 지역 name 변수의 값으로 얻어 져야한다

selectAllCheckBoxes('Hello', this); 

로 끝날하려면합니다 (param이 예약 된 변수 이름이고, 당신이 그것을 직접 사용해서는 안)에, 당신은 필요 당신은 당신이

을 할 필요가

onclick="selectAll('Hello')" 

와 끝까지하려는 경우, 같은 방식으로

selectAllCheckBoxes('<%= name %>', this); 

onclick="selectAll('<%= name %>')" 

그렇긴해도 지난 10 년 이상 낙담했던 구식 스크립틀릿 사용을 중단 할 것을 강력히 권장합니다. JSP 프로그래머는 taglibs와 EL을 사용하여 JSP 코드를보다 깨끗하고 견고하며 유지 보수가 잘되도록 만들 것을 권고 받았다. JSTL과 같은 taglib을 사용하여 JSP 페이지의 흐름을 제어 할 수 있으며 EL을 사용하여 "백엔드"데이터에 액세스 할 수 있습니다. 귀하의 예는 다음으로 대체 될 수 있습니다 :

<c:set var="name" value="Hello" /> 

... 

selectAllCheckBoxes('${name}', this); 
+0

좋은 도움말은 JSTL – Ayrad

1

같은 것이 스크립틀릿과 전체 속성 값을 생성합니다 :

예를 들어

<dmf:checkbox name="checkbox" 
    onclick = "<%= "selectAll(" + param + ")" %>" /> 
1

아마도 이것을 달성하려고합니까?

var myVar = '<%= (String)request.getParameter("tab") %>'; 
loadtabs(myVar);