차근차근/JAVA Script

자바스크립트변수 jsp에서 사용

예쁜꽃이피었으면 2014. 7. 29. 00:15

안녕하세요..

서버스크립트와 클라이언트스크립트의 자료 공유에 대한 질문이 올라오면, 항상 고민 되는 부분이 있습니다.

질문 의도는 알겠으나, 이 두 스크립트를 질문자님께서 어떻게 이해하고 있는가에 대한 부분이에요..

 

일단 컴퓨터 프로그래밍 관점에서 보면, 질문하신 jsp와 javascript 에서의 자료공유란 존재하지 않습니다.

전자가 jsp 서버단에서 실행되고, 후자인 javascript는 클라이언트단(웹브라우저)에서 실행되기 때문이에요..

 

현실 세계의 관점에서 보면, 이런 경우 입니다.

사람과 사람이 의사소통을 하는데 있어서..

의사소통의 언어가 무엇이냐에 따라서 언어의 소통이 되어진다는 조건이 성립 되어지잖아요?

jsp와 javascript는 다른 언어이지요. 실행되는 환경도 전혀 다르고요..

사람이 그림속에 있는 사람그림과 의사소통을 하는 경우와 같습니다.

 

그렇다면...

사람이 그림속에 있는 사람그림과 의사소통을 하려면 어떻게 해야 할까요?

완전 짜고 고스돕쳐야 합니다.

사람(jsp)이 그림(javascript)에게 "손흔들어"라고 말해놓고 사람이 스스로 그림을 다시 그리는 것이죠..

 

아래처럼 한번 그려 봅시다.

<% String contents = "aaa"; %>

<SCRIPT TYPE="TEXT/JAVASCRIPT">
//<![CDATA[

      var contents = "<%=contents%>";

 //]]>
</SCRIPT>

그런데, 역으로 그림이 사람에게 "손흔들어" 라고 할 수는 없는 것이죠..

그림이 움직이는 것에 따라 사람이 춤동작을 할 수는 있어도요...

즉, ajax와 같은 클라이언트 프로그래밍을 구성하여, jsp페이지에 request 요청하는 경우입니다.

 

하지만 같은 jsp페이지에 포함된 javascript라고 하여 서로 자료를 공유하고 할 실 수는 없습니다.

서버단에서 처리되는 javascript나 html태그는 실행되는 코드들이 아닌, 단순한 문자열이기 때문입니다.

그 의미 없는 문자열들이 html파일로 변환되어, 웹브라우저에서 실행될때 비로서 프로그램적 의미를 지닙니다.

이 점을 항상 염두해 두시면, 서버스크립트와 클라이언트스크립트의 상호적 프로그래밍 관점에 있어서..

 

구현하고자 하는 프로그래밍을 능숙하게 자유자제로 구현하실 수 있게 됩니다

 

 

 

 


 

 

 

 

자바스크립트 변수를 JSP로 넘기기 
더보기

http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040202&docId=139737924&qb=7J6Q67CU7Iqk7YGs66a97Yq4IOuzgOyImOulvCBqc3Dsl5DshJw=&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=RJ3hU35Y7uCssaAJZW0sssssstC-391586&sid=U73YX3JvLCkAAFi7EnU

 

 

현재 자바스크립트에서 난수를 발생시키고 팝업을 띄울때 이 난수값ㅇ을 넘기려고 하는데 안되네요.

<SCRIPT>

 function openPopup(){

  var ran = Math.floor(Math.random()*100000);

  window.open('popUp.jsp');

</script>

 


 

이렇게 두고 popUp.jsp 에서

request.getParameter("ran");

으로 안넘어오네용

 

어떤식으로 하면 popUp.jsp에서 스크립트에서 발생된 난수를 사용할 수 있을까요?
================================================================================================================

<script>
 function openPopup(){

  var ran = Math.floor(Math.random()*100000);

  window.open('popUp.jsp?ran=' + ran);

}

</script>

 


 

 

 

javascript 의변수값이 jsp 로 가게 도와주세요..
더보기

http://www.okjsp.pe.kr/seq/66753

 

먼저 jsp 에서는

<%  String temp="";    %>

<html>

<head>

............

</html>

<script language = "javascript">

...

var  kkk = 1;

.....

앞단에 temp 를 string 로 잡아줬습니다.

이 temp 에  javascript 의 kkk 값을 넣어서

jsp 폼에서 사용하고 싶습니다.

어떻게 하면 되나요>?

도와주세요..~~~

=========================================================================

JAVASCRIPT에서 JSP소스로 변수값 전달을 할 수 없습니다.
JSP소스가 다 인코딩인 된다음에 동작하는게 HTML/JAVASCRIPT 이기에..
할수 있는 방법이라면.. JAVASCRIPT의 값을 HTML의 HIDDEN 값으로 선언하고
폼 submit 후에 다시 JSP에서 request.getParameter로 받을 수 밖에 ...

 

 

 

javascript의 변수 값(var)을 html의 body에 넣고 싶습니다!
더보기

http://aha.zum.com/view/bTEnS/1cyXuz

 
<script type="text/javascript"> 
var abc="제발 해결해주세요";

</script>

여기에서 abc 변수를 html의 <body> 안에 넣고 싶어요. input type=text여도 상관없지만 그냥 document에 넣고 싶은데요.. text 박스와 그냥 테이블 안에 글자로 넣는 것도 알려주시면 감사하겠습니다.

==========================================================================

<body>안에 <div>나 <span>요소가 있다면, 
이런 요소에 id를 지정하고, 간단하게 원하는 내용을 넣으실 수 있습니다.

예를 들어, 
<div id="text"></div>
<span id="text"></span>
와 같이 있다면, 

<script type="text/javascript">
var abc = "제발 해결해주세요";
document.getElementById("text").innerHTML = abc;
</script>

위와같이 스크립트를 작성하시면 됩니다.

===============================================================​

아래와 같이 하시면 바로 출력 됩니다.
<body>
<script type="text/javascript"> 
var abc="제발 해결해주세요";
document.write(abc);
</script>

 

 JSP와 자바스크립트간의 정보 전송방법
 

 

더보기

http://dreamform.egloos.com/2805065

 

 

JSP 는 서버 언어
자바스크립트는 클라이언트 언어
 
1. 자바스크립트의 변수에 JSP 변수를 지정하는 것 (가능)
<script language=javascript>
var name = "<%= name %>" ;
</script>


2. JSP 변수에 자바스크립트의 변수를 지정하는 것. (불가능)
정의상 불가능하지만 꼼수로 하는 방법이 있다.
2-1) 팝업창에 넘기는 것(다른 페이지의 자바스크립트 변수에 지정가능)
get 방식이나 post 방식으로 넘길수 있다.
var URL = "페이지 주소.jsp?name= "+name +"&year=" + year
var rtnVal = window.showModalDialog(URL, "", "dialogWidth:0; dialogHeight:0; help:no; status:no;");
 
위와 같이 자바스크립트의 변수에 넣은 값을 팝업창 페이지의 주소값 뒤에 값을 넘겨서
 
팝업창에서는
<%
String year = request.getParameter("year").trim();
%>​
 
와 같이 파라미터 값을 받은후  이 값을
var name = <%=year%> ; 
이런식으로 자바스크립트 변수에 지정할수 있다.
 
 
2-2) iframe을 사용하는 방법 (현재 페이지의 자바스크립트 변수에 지정가능)
<iframe width=800 name="por" width="0" height="0" frameborder="0" scrolling="no"></iframe>
<form name="frm" method="post" action=""></form>
<script language=javascript>
frm.target = "por"; // iframe의 이름
frm.action = "현재 페이지 이름.jsp?name= "+name;
frm.submit();
</script>​
 
위와 같이 자바스크립트의 변수에 넣은 값을 iframe 페이지의 주소값 뒤에 값을 넘겨서
현재 페이지에
<%
String year = request.getParameter("year").trim();
%>
와 같이 파라미터 값을 받은후 이값을
var name = <%=year%> ; 이런식으로 자바스크립트 변수에 지정할수 있다.

 

자바스크립트에서 선언한 변수 JSP로 보내기.. 방법좀 알려주세
더보기

 

 

function data_modify (flag, num, obj) {   if (flag == "folder_id") {   lv_id[num] = obj.value;  }  }


이런식으로 선언된 배열로된 변수 lv_id[num] 를 JSP로 넘겨서 사용하고 싶은데요..
보통 <INPUT> 태그에서 작성된 값이 jsp로 넘어갈때 jsp에서 
request.getParameter("태그name");
이런 식으로 받아서 사용하잖아요..
근데 위에서 처럼 자바스크립트에서 선언된 변수를 jsp로 넘기는 방법
과 jsp에서 어떤식으로 받을수 있는지도 알고 싶습니다.
항상 도움주시는 여러분들께 너무너무 감사드리구요.. 
이번에도 꼭 도와주세여~~~ :roll:

 

==============================================

흠..글쎄요.
결국 java script에서 선언한 변수(lv_id)의 값들 역시 
<input type=.......>이런식으로 해서 넘어가야 할것입니다.
눈에 안 보이게 하기위해서 html안에 
<input type=hidden name=lv_id .. >
이런식으로 해야 할것이고....
여기에 적당한 값들(array값)을 넣어주는 것은 
javascript의 몫이겠지요.
아마도 "a;b;c;..;z" 이런식으로 ';'와 같은 문자를 
seperator로 미리 약속을 한후, 이 string이 lv_id의 값이 되겠지요.

그런담에 jsp에서는 이 값을 적절히 파싱해서 사용하면 될 것 같습니다 


 

 

반응형