向/从URL添加/读取参数

时间:2015-04-13 15:00:27

标签: tabris

如果我在Objective-C代码中向url添加参数,是否可以从客户端读取它?

示例:

- (NSURL *)serverURL {
    return [NSURL URLWithString:@"http://rap.eclipsesource.com/demo?parametername=value"];
}

在Client-JavaCode中,我可以得到参数的值,如下所示:

String parameter = RWT.getRequest().getParameter("parametername");

如果我使用浏览器访问“app”,我会获得参数值。如果我使用TabrisClient访问应用程序,则该值为null。

有没有办法在TabrisClient中获取值?

1 个答案:

答案 0 :(得分:0)

<强>更新

服务器不直接从请求URL中提取查询字符串,而是从客户端收到的第一个JSON消息中提取。 Web客户端在第一个UI请求的queryString部分中提供参数head。例如:

{ "head": { "queryString": "foo=23&bar=42", "requestCounter": ... }, "operations": [ ... ] }

您必须在Tabris客户端中伪造此行为。我建议您针对Tabris提交一个问题,以提供API来设置启动参数。

原始答案:

如果您要在tabris客户端中对参数进行硬编码,您可以根据连接的客户端设置变量:

parameter = (RWT.getClient() instanceof WebClient)
          ? RWT.getRequest.getParameter("parametername")
          : "tabris-value";

顺便说一句,对RAP 3.0中的请求参数的访问将会发生变化。 ClientService将提供参数,而不是RWT.getRequest()。getParameter()。