当前位置: 首页 > 面试题库 >

如何在Java Play框架中获取查询字符串参数?

柯学
2023-03-14
问题内容

我对Java Play框架很陌生。我已经设置了所有普通的路由,例如/ something
/:somthingValue和所有其他路由。现在我想创建路由接受查询参数,例如

/ something?x = 10&y = 20&z = 30

我想在这里获取“?”之后的所有参数。作为键==>值对。


问题答案:

您可以将查询参数连接到路由文件中:

http://www.playframework.com/documentation/2.0.4/JavaRouting在“具有默认值的参数”部分中

或者,您可以在“操作”中要求他们:

public class Application extends Controller {

    public static Result index() {
        final Set<Map.Entry<String,String[]>> entries = request().queryString().entrySet();
        for (Map.Entry<String,String[]> entry : entries) {
            final String key = entry.getKey();
            final String value = Arrays.toString(entry.getValue());
            Logger.debug(key + " " + value);
        }
        Logger.debug(request().getQueryString("a"));
        Logger.debug(request().getQueryString("b"));
        Logger.debug(request().getQueryString("c"));
        return ok(index.render("Your new application is ready."));
    }
}

例如http://localhost:9000/?a=1&b=2&c=3&c=4,控制台上的打印:

[debug] application - a [1]
[debug] application - b [2]
[debug] application - c [3, 4]
[debug] application - 1
[debug] application - 2
[debug] application - 3

请注意,c该URL是两次。



 类似资料:
  • 如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数:

  • 问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册

  • 问题内容: 从服务器重定向后,如何在我的routes.jsx文件中定义路由以从Twitter的单点登录过程生成的URL 捕获参数值? 我尝试使用以下路由配置,但没有捕获上述参数: 问题答案: 反应路由器v3 React Router已经为您解析了位置并将其作为道具传递给RouteComponent。您可以通过访问查询(在URL中的?之后)部分 如果要查找路径参数值(在路由器内部用冒号(:)分隔),

  • 问题内容: 从Flask文档中关于如何获取查询字符串的信息并不明显。 所以 问题答案:

  • 问题内容: 是否有通过jQuery(或不通过jQuery)检索[查询字符串]值的无插件方法? 如果是这样,怎么办?如果没有,是否有可以做到的插件? 问题答案: const urlParams = new URLSearchParams(window.location.search); const myParam = urlParams.get(‘myParam’); 原版的 为此,您不需要jQue