我有一个包含IFRAME的主html页面。 我有一个服务器端jsp代码,第一次在IFRAME中显示一些默认值。 每当一个人试图在主页面中使用搜索按钮时,结果将显示在IFRAME中,以更新其内容。 我有一个servlet,它对搜索到的数据进行计算并更新IFRAME内容。
问题:
我在servlet中使用了sendRedirect
方法来刷新IFRAME,但无济于事。
我传递给sendRedirect
的字符串是/results.jsp?search=value&size=1
(jsp将显示在iframe中)。
servlet正常运行,但是打开一个新页面代替主页:不是所需的输出。
带有界面的主页应该保留在那里,只有IFRAME才能刷新。
我的问题:
这是刷新iframe的正确方法吗?如果不善意告诉我应该用什么来通过servlet更新我的iframe(jsp)。
非常感谢任何帮助
答案 0 :(得分:1)
如果搜索机制是HTML表单,您可以将表单的target
属性设置为相关iframe的名称。有关详细信息,请参阅W3Schools's page on this。
答案 1 :(得分:1)
使用response.sendRedirect()方法进行重定向时,将修改调用servlet的实际“框架”。该帧可以是整个页面,也可以是iframe,甚至是javadoc中使用的遗留帧。
正如@Jake223所说,将目标属性设置为以下形式的iframe名称:
如果您使用表单提交信息,那么您可以执行以下操作:
<iframe name="resultframe"></iframe>
<form action=[path to servlet] target="resultframe">
<input type="text" name="searchq"/>
<input type="submit" value="search"/>
</form>
如果您使用javascript创建iframe,请使用iframe的src属性:
<iframe src=[path to servlet]?[request params]></iframe>