2013-04-28 82 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