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

时间:2015-01-22 12:11:48

标签: gwt

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

所以我有

String data = "someData";

现在我有一个JSP页面,我想发送这个"数据"。

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

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

在我的JSP页面中我有

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

现在是否可以发送&#34;数据&#34;从GWT到这个Jsp Page。 所以我的Jsp会说

Hello! someData

1 个答案:

答案 0 :(得分:1)

您可以使用

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

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

${param.data}

对于servlet,您可以使用

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

做同样的事。

请注意,需要正确转义网址参数值(如上例中的someData)。 GWT具有com.google.gwt.http.client.URL类:

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

- 编辑 -

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