Back to the JavaScript

[Model/Param => ${script} ] / [HTML요소 => $(script) ] 값 받아쓰기

Backcoder 2022. 9. 3. 21:09

[ Model => HTML ] 

- Model 값 HTML body 부에서 사용하기 

 

(자바) 

model.addAttribute("key", value ); 

return "뷰단"; 

 

(JSP) 

=> VIEW 단의  HTML  에서는 

(1) <%=request.getAttribute("key")%> 

(2) ${key}    

자바로 받거나, EL 로 받아서 사용한다. 

 

 

[ Model => <script> ]

- 마찬가지로 script 단에서 Model 값을 받아 사용하기 위해서는 

(1) alert( ' <%=request.getAttribute("getit")%> ' ); 

(2) alert( ' ${ getit } ' );

 

(1) 자바 (2) EL 로 받아서 사용하면 되는데, 

*주의할점은 JavaScript 에는 엄연히 data Type 이 존재하므로, 

=> '  '  따옴표 처리를 해서 String 임을 명시해줘야 한다. 

( 관련 Error : ~ is not defined  <anonymous> ) 

 

[ Param => HTML  / <script> ] 

- Parameter 로 넘어온 값도, Model 로 넘어온 값과 마찬가지로 

(1) HTML

<%=request.getParameter("getit")%>

${param.getit}    

(2) <script> 

var a =  ' <%=request.getParameter("getit")%>  ' ; 

var a  = ' ${param.getit} ' ; 

 

- script 일때는 String 으로 받아서 사용하면 된다. 

 

 

[ JSON 데이터 일 경우 ] 

- AJAX 사용 할 때, return 값으로 { A : B }  JSON 형식의 데이터String으로 들어올 경우, 

<script>

var obj = ' ${result} '
var json = JSON.parse( obj );

 

(1) String 타입으로 받아서 ( '  ' 따옴표 ) 

(2) String 타입을 Json타입으로 parsing 해서 사용 ( JS 내부객체 :  JSON.parse( )

 

=========

 

 

[[ HTML => <script> ]] 
: 해당 HTML 페이지 값을 Script 로 가져오기

 

(1) alert(document.getElementById("here").value);

(2) alert(documnet.querySelector("#here").value); 

(3) alert( $("#here").val( ) );

(4) alert( $("#here")[0].value

 

DOM객체로 가져와서 사용하거나  -  (1),(2)

jquery 문법을 사용해 가져와서 사용한다.  - (3), (4) 

 

*주의 : jquery 로 $("  ")  HTML 요소를 가져와서 사용할 경우, 기본적으로 jquery 전용 문법만 사용할 수 있다. 

 

- JS (DOM)문법  : .value / .innerHTML /  .textContent 

- jquery문법 : .val( ) / .html( ) / .text( )  

 

=> $(" ")[0] 

jquery 로 가져온 요소에 [0] 처리  를 해주면, => JS 로 전환된다

 

즉,

document.getElementById("here")  ==  $("#here")[0]   

 

 이렇게 만들어둔 상태에서는 

다시 원래 JS 문법인 value / innerHTML 등 만 사용이 가능하다. 

 

 

< 정리 > 

Model, Param  (EL) 

(1) HTML 

${ModelKey}  /  ${param.Name} 

(2) <script>  '따옴표 '

var a = ' ${ModelKey} ' ;    /   var a  = ' ${ param.Name } ' ; 

(3) JSON 

var a = ' ${ModelKey} ' ;     

var json = JSON.parse( a ); 

 

HTML Element => <script>

(1) DOM 

alert (document.getElementByID( " " ) ) ; 

alert (document.querySelector(" # " ) ); 

(2) jquery

alert ( $("# id ").val( ) ); 

alert ( $("# id")[0].value );