2015-04-07 43 views
0

所以,我做類似如下:如何使用JSP scriptlet代碼刷新瀏覽器?

// do something in JSP1 
// load HTML page in JSP1 
// send post request via jquery in JSP1 to JSP2 
// do some processing in JSP2 
// set "request" object from JSP2 to JSP1 by using: 
request.setAttribute("results",returneddocs); 
rd.forward(request, response); 
// Now, I am able to read the new values in JSP1 by using: 
myval = request.getAttribute("results"); 

現在,我想用「設爲myVal」的值做出一定的div出現或消失。我該怎麼做呢? 也許我可以設置「會話」而不是「請求」並刷新HTML頁面。但是,如何使用jsp scriplet中的代碼來刷新HTML頁面?

回答

0

一旦收到myval的值,就不需要刷新整個頁面。至於,你可以使用簡單的CSS來控制你的html的渲染。

我想使用「myval」的值使某些div出現或 消失。我該怎麼做呢?

首先將值解析爲特定的數據類型,不要忘記檢查null和empty。

String myval = (String) request.getAttribute("results"); 

比方說你myval包含show爲值,然後添加樣式的div(S)如下,基於該值,你已經得到它:

<% String display = myval.equals("show") ? "block" : "none"; %> 
<div style="display=<%=display %>"></div> 

也許我可以設置「會話」而不是「請求」,並刷新HTML頁面的「 」頁面。

重新加載頁面將花費兩次呼叫服務器。

但是,如何使用jsp scriplet中的代碼刷新HTML頁面?

無需刷新整個頁面,這應該做必要的。但是,如果您需要刷新頁面,則可以執行以下操作:

<script type="text/javascript"> 
    var value = '<%=myval %>'; 
    if(value == "some value") 
     location.reload(); 
</script> 
+0

它不起作用。因爲一旦頁面被加載,它不會採用更新後的值。 –

+0

所以你需要設置每個頁面加載的值。 –

+0

我爲什麼要設置「會話」,然後重新加載頁面。 –