0
在JSP頁面中使用jquery的load()方法時遇到問題。在第一頁中,我試圖將屬性list1設置爲請求,並使用load()將頁面2的內容加載到頁面1的「#content」中。當使用jquery加載方法時,JSP請求不會傳遞到另一個jsp頁面
<%
ArrayList<String> list1 = new ArrayList<String>();
request.setAttribute("list1", list1);
%>
<script>
(function($) {
$(document).ready(function() {
$.ajaxSetup({
cache: false,
beforeSend: function() {
$('#RSSList').hide();
$('#loading').show();
},
complete: function() {
$('#loading').hide();
$('#RSSList').show();
},
success: function() {
$('#loading').hide();
$('#RSSList').show();
}
});
var refreshId = setInterval(
function() {
$("#content").load("page2.jsp");
}, 9000);
});
})(jQuery);
</script>
<div id="content"></div>
<img src="images/loading.gif" id="loading" alt="loading" style="display:none;" />
在第二頁中,list1的正在從請求檢索和通過out.println被輸出之前做一些處理()
<%
ArrayList<String> list2 = (ArrayList<String>) request.getAttribute("list1");
// process list2 here
if (list2==null){
out.println("list2 is null");
} else {
// out.println() contents of list2
}
%>
然後這裏是問題所在。第2頁中的request.getAttribute("list1")
返回空指針,經過一些研究後,我發現請求沒有發送到第2頁,因此我無法從請求中檢索「list1」。
我不能在第1頁使用request.getRequestDispatcher("page2.jsp").forward(request, response)
,因爲它會將我重定向到page2.jsp,這不是我想要做的。
是否有任何解決方法,我可以將請求傳遞給第2頁,以便我可以檢索page2.jsp中的list1?謝謝。
你的意思是,所有在page2.jsp JSP代碼將被加載到「內容」的Page1.jsp? – brooksky 2013-03-26 08:03:06
不是代碼,而是根據html生成輸出。 – Jai 2013-03-26 08:13:12
但這裏的問題是,page2.jsp無法獲得list1進行額外的處理,然後輸出爲HTML – brooksky 2013-03-26 08:19:03