2010-06-13 20 views
0

需要一種簡單的結構的設計方法或建議我要設計使得每當用戶通過查詢我它 使用的servlet,然後調用JS頁繪製圖表處理使用的Servlet

1>用戶寫在頁面上查詢 2>頁面調用servelt類 public class MyServlet extends Httpservlet implements DataSourceServlet {.....返回數據 用戶看到這樣一個美麗的字符串.. google.visualization.Query.setResponse ......... /Tiger'},{v:80.0}, {v:false}]}]}}); 3>當用戶點擊不同的html頁面myhtml.js時,它會繪製 圖表。

我想讓Myservlet類本身調用myhtml.js頁面並直接繪製 圖表。 並希望消除漂亮的字符串 google.visualization.Query.setResponse ......... /Tiger'},{v:80.0}, {v:false}]}]}}); 來自用戶瀏覽器 我該怎麼辦? 我嘗試使用函數調用另一個頁面,如請求 dispatcher(),redirect()直接調用myhtml.js頁面後 myservlet處理查詢結果。 但我得到這樣的結果 google.visualization.Query.setResponse ......... /Tiger'},{v:80.0}, {v:false}]}]}}); 及其下方的整個myhtml.js代碼頁在瀏覽器上顯示爲 而沒有繪製圖表。

是否有反正元素美麗的字符串來自客戶端 瀏覽器 並只顯示他們的圖表繪製? :)

這是小教程中,我下面 http://code.google.com/apis/visualization/documentation/dev/dsl_get_started.html

+0

我的意思是有一種方法可以從瀏覽器中「消除」來自comin的Json字符串嗎? – akshay 2010-06-14 13:47:23

回答

0

這是一個有點難以理解,但我認爲你從錯誤的側面處理這個問題。

由於HTTP本質上是一種PULL技術,因此讓HTML頁面調用myhtml.js功能並從servlet請求數據要容易得多。

從servlet調用瀏覽器JavaScript如果沒有相當多的基礎架構,這可能不是您想要的,即精簡/簡單的解決方案,那麼從servlet調用JavaScript是不可能的。

+0

但是爲了處理我必須調用servlet,一旦處理完成,我就調用html頁面。 我的問題是,在servlet處理數據後...它反映瀏覽器上的json字符串,沒有任何流式編寫器我不知道爲什麼發生這種情況。只有在瀏覽器上看到json字符串時,我必須分別調用html頁面來查看圖表。 如果我使用重定向或forwad,包括圖表沒有繪製seens json字符串沒有出現在瀏覽器上。 那麼如何讓一段時間後從servlet中調用html頁面。 我試過thrd睡眠,刷新方法,但沒有幫助我 – akshay 2010-06-14 14:05:19

+0

你創建你的HTML頁面。在HTML頁面中(使用onLoad事件或類似的),您可以向servlet啓動AJAX請求以獲取圖表的數據。在這種情況下,您將傳遞2x到servlet,但servlet永遠不必「調用」頁面。 – 2010-06-14 16:18:33

+0

我會按照你的解決方案,併發布它,如果這樣的作品。 因此,當客戶端通過html頁面發送查詢時,服務器處理客戶端瀏覽器中的查詢和響應字符串。 一旦該字符串出現在瀏覽器中。客戶可以打另一個html頁面並查看圖表。 客戶端只有在服務器響應客戶端瀏覽器的可見字符串後才能看到圖表,如果他擊中了html圖表地址。 – akshay 2010-06-17 14:38:48