2

我知道它一定很简单,但我仍然无法弄清楚。

我在 jsp 页面上有一个链接。

单击此链接时,我希望打开另一个选项卡(浏览器)。

这个新页面的视图是由动作类定义的,它需要一个表单字段值。

我面临的问题是,如果不提交表单,我无法将表单字段的值传递给操作类。并且提交表单也会改变原始 jsp 的视图,这违背了打开新选项卡的整个目的。

所以我需要一种在不重置原始jsp页面视图的情况下将表单字段值获取到操作类的方法。

我遇到的一种方法是 URL 重写,但这是我最后的选择。

请提出一些建议!

谢谢!!

4

2 回答 2

1

首先,我想指出当前可能(据我所知)强制出现一个新选项卡,这取决于用户的浏览器和他们在此处看到的设置以获取更多信息。

现在回答您的问题,因为链接无法(单独)发送表单数据,您有 2 个选项:

  1. 您可以使用指向要发送数据的 URL 的表单“提交”按钮,并将 target="_blank" 添加到表单中,这将在提交表单时打开一个新页面。
  2. 您可以将 javascript 事件添加到您的链接,以便在按下它时将输入的值附加到 URL 并使用该 URL 打开一个新窗口。

我个人会选择第一个选项。

这是选项一的简单示例,它在您提交时不会删除输入值...

<html>
  <body>
    <form action="test1.html" method="post" target="_blank">
      <input type="text" name="bob" />
      <input type="submit" value="Hello"/>
    </form>
  </body>
</html>
于 2012-05-09T12:25:04.000 回答
0

您可以进行 ajax 调用,或者使用其中的 get 参数动态构建链接 url。

于 2012-05-09T14:48:34.307 回答