2014-01-10 32 views
0
<script language="javascript" > 
    function addSelection(){ 
     var tst="hello"; 
     sessionStorage.setItem("test", tst); 
     <% 
      String pastst=request.getParameter("tst"); 
      session.setAttribute("tst1",pastst); 
     %> 
     addSelection1(); 
    } 
    function addSelection1(){ 
     var outtst = '<%= session.getAttribute("tst1") %>'; 
     <% 
      out.print("session"+session.getAttribute("tst1")); 
     %> 
     var tstout= session.getAttribute("tstout"); 
     alert(tstout); 
    } 
</script> 

alert(tstout);工作正常,但jsp中的代碼打印爲空白。我無法獲得要打印的會話值

+0

你的問題是什麼? –

回答

0

我不知道這背後的目的是什麼。無論如何,在你的代碼中找到幾個問題。

首先。您無法獲得像這樣的javascript變量值,

var tst="hello"; //Setting the value in javascript 
    sessionStorage.setItem("test", tst); 
    <% 
     String pastst=request.getParameter("tst"); //Expecting the value will be returned by java request 
     session.setAttribute("tst1",pastst); 
    %> 

二。繼線將爲您提供JS錯誤,你不能將這樣的var tstout= session.getAttribute("tstout");

您需要更改成,var tstout= '<% session.getAttribute("tstout"); %>'

其錯誤的假設的JavaScript將在下面的行打印會話值,

<% 
    out.print("session"+session.getAttribute("tst1")); 
%> 

最後,您需要開始學習JSTLEL避免使用scriptlet。

這是一些它在哪裏工作的方式。

<script type="text/javascript" > 
function addSelection(){ 
    var tst="hello"; 
    sessionStorage.setItem("test", tst); 
    <% 
     String pastst="hello"; 
     session.setAttribute("tst1",pastst); 
    %> 
    addSelection1(); 
} 
function addSelection1(){ 
    var outtst = '<%= session.getAttribute("tst1") %>'; 
    alert('<% 
     out.print("session : "+session.getAttribute("tst1")); 
    %>'); 
    alert(outtst); 
} 
</script> 

希望它可以幫助你。

+0

thans you Vinoth Krishnan –

+0

不客氣。如果您發現它很有用,請將其標記爲已接受的答案,因爲其他人仍然可以從中獲益。 –