如果我在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中获取值?
答案 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()。