试图从 GWT 向 JSP 页面发送一些数据

trying to send some data to a JSP page from GWT

我有一个 GWT 应用程序,我在其中从 RPC 获取一些数据。

所以我有

String data = "someData";

现在我有一个 JSP 页面,我想在其中发送此 "data"。

我目前正在从我的 GWT 客户端打开我的 JSP 页面。

Window.open("Test.jsp","","");

在我的 JSP 页面中,我有

<%= new String("Hello!") %>

现在是否可以将 "data" 从 GWT 发送到此 Jsp 页面。 所以我的 Jsp 会说

Hello! someData

您可以使用

Window.open("Test.jsp?data=someData","","");

将参数传递给您的 JSP(在此示例中,参数名称 data 和值 someData。 要在 JSP 中获取参数,您可以使用

${param.data}

对于 servlet,您可以使用

String value = request.getParameter("data");

做同样的事情。

请注意 URL 参数值(如上例中的 someData)需要正确转义。 GWT 对此有 com.google.gwt.http.client.URL class:

String value = "someData?with#disallowed&chars";
String jsplink = "Test.jsp?data="+URL.encodeQueryString(value);
Window.open(jsplink, "", "");

-- 编辑--

URL 上 ? 之后的内容称为 "query string"。通常它包含命名参数,如 name1=value1&name2=value2&name3=.... 但这不是必需的。您可以在 ? 之后放置任何内容并自行处理。为此,您需要使用 ((HttpServletRequest)request).getQueryString() 获取完整的查询字符串作为一个整体。然后你需要自己解码和解释它。