首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java play框架中获取查询字符串参数?

如何在java play框架中获取查询字符串参数?
EN

Stack Overflow用户
提问于 2013-04-10 00:59:35
回答 5查看 47.8K关注 0票数 25

我对java play框架非常陌生。我已经设置了所有正常的路由,比如/something/:somthingValue和其他所有路由。现在,我想创建接受查询参数的路由,如下所示

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

在这里我想得到"?“之后的所有参数。作为key==>value对。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-10 02:04:07

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

“带有默认值的参数”一节中的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中出现了两次。

票数 37
EN

Stack Overflow用户

发布于 2016-08-08 07:00:59

在Play 2.5.x中,它是直接在conf/routes中制作的,用户可以在其中放置默认值:

# Pagination links, like /clients?page=3
GET   /clients              controllers.Clients.list(page: Int ?= 1)

在您的情况下(使用字符串时)

GET   /something            controllers.Somethings.show(x ?= "0", y ?= "0", z ?= "0")

使用强类型时:

GET   /something            controllers.Somethings.show(x: Int ?= 0, y: Int ?= 0, z: Int ?= 0)

有关更长的解释,请参阅:https://www.playframework.com/documentation/2.5.x/JavaRouting#Parameters-with-default-values

票数 20
EN

Stack Overflow用户

发布于 2014-11-01 20:10:27

您可以以Map的形式获取所有查询字符串参数:

Controller.request().queryString()

此方法返回一个Map<String, String[]>对象。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15907996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档