add/read 参数 to/from url
add/read parameters to/from the url
如果我在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 访问该应用程序,则该值为空。
有没有办法在 TabrisClient 中也获取值?
更新:
服务器不直接从请求 URL 中提取查询字符串,而是从客户端收到的第一条 JSON 消息中提取查询字符串。 Web 客户端在第一个 UI 请求的 head
部分提供参数 queryString
。示例:
{
"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()。
如果我在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 访问该应用程序,则该值为空。
有没有办法在 TabrisClient 中也获取值?
更新:
服务器不直接从请求 URL 中提取查询字符串,而是从客户端收到的第一条 JSON 消息中提取查询字符串。 Web 客户端在第一个 UI 请求的 head
部分提供参数 queryString
。示例:
{
"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()。