2013-04-28 84 views
1

我是servlets中的新成員,我想在與單擊搜索按鈕時顯示的結果相同的頁面中顯示結果,然後結果應該位於同一頁面上,我如何才能實現這一點,而不需要另一個JSP,或者如果我應該在場景移動到另一個場景的情況下執行它,而用戶沒有注意到它的另一個頁面,我如何使它看起來好像它的結果在同一頁面上。任何光棚都非常感謝。在同一頁上顯示結果

enter image description here

+1

你要發送一個同步(普通)或異步(AJAX)請求?你沒有明確提到它,但你標記JavaScript的原因不明。如果前者使用[我們的Servlets wiki頁面](http://stackoverflow.com/tags/servlets/info)的第一個Hello World示例。如果以後,通過這個答案來掌握基於一些Hello World示例的基本概念:http://stackoverflow.com/questions/4112686/how-to-use-servlets-and-ajax/4113258#4113258 – BalusC 2013-04-28 19:34:15

+0

Hi BalusC ,我標記了JavaScript,因爲我想擴大實現我想要的選項。我基本上有一個servlet,裏面我設置屬性我的請求作爲數據的數組列表。出於興趣,請求調度員是否需要在此文本框和搜索按鈕下顯示數據? – 2013-04-28 20:42:27

+2

你知道更好的方法嗎?在servlet中發射HTML?哦,請不要。只需轉發到JSP,並讓它有條件地在''塊中顯示結果。 – BalusC 2013-04-28 23:04:02

回答

0

你必須使用JavaScript來接收來自服務器的搜索結果。這種技術被稱爲ajax。像jquery(或許多其他)的Javascript庫可以幫助你很多。

+0

謝謝Micha的回覆,我會仔細研究一下,並告訴你我是否遇到問題或者是否成功。 – 2013-04-28 16:51:52

+0

這應該是一個評論而不是答案。請注意,BalusC的第一條評論涵蓋了這一點,甚至發佈了與ajax和servlet相關的Q/A。 – 2013-04-29 03:37:18

+0

即使它很短,我會將我的帖子描述爲(非常一般的)問題的(非常一般的)答案。因此,這是我的一個答案,而不是一個評論。 – micha 2013-04-29 19:00:58

0
  • 您的表單將搜索詞提交到當前頁面,即您可以將表單操作屬性保留爲空。
  • 在您的servlet中檢查是否提交了搜索詞。如果是這種情況,請執行您的搜索功能並將結果寫入響應。
+0

感謝您的回覆Matthias,我想在文本框和我上面的搜索按鈕下顯示結果,這樣我就可以搜索儘可能多的次數,而無需再次搜索名稱。 – 2013-04-28 16:50:10

0

你沒有提到你的數據來自哪裏,但這在這個問題上並不重要。數據可能來自DOM storage的局部變量,或者使用AJAX向您提供。但是這裏有一個例子,在textarea元素中設置文本數據(有幾乎無限的方式來格式化你想要的東西,這只是一個例子)。以這種方式動態更改當前頁面意味着您不需要導航到另一個頁面。

它的工作原理是通過它的名稱中使用document.getElementById

那麼我們該元素的含量值設置爲您的數據(在這種情況下,「數據」)獲取的元素的引用,並顯示在文本區域。

HTML

<input type="text"></input> 
<div> 
    <textarea id="data"></textarea> 
</div> 

的Javascript

var data = "Here is your data that was returned from your source"; 

document.getElementById("data").value = data; 

jsfiddle

+0

感謝您的洞察Xotic我會考慮一下出於興趣,是否有可能檢索到一個包含在我的servlet中的數據的對象,我可以將它帶入我的搜索頁面以顯示它? – 2013-04-28 16:59:33

+0

是的,這正是演示所示,在這種情況下,它是一個字符串變量,但它可能很容易是一個數組或字符串或從中選擇使用您的搜索機制之一的字符串對象。這是其他人試圖正是這樣:http://stackoverflow.com/questions/16247626/how-to-let-the-user-input-text-to-search-array-object-then-output-if-有-IS-A/16247798#16247798 – Xotic750 2013-04-28 17:15:11