将表单参数添加到url Play框架

时间:2013-12-25 12:31:40

标签: url-rewriting playframework playframework-2.1

我正在使用Play Framework 2.1版开发应用程序

我在我的一个scala视图文件中有一个表单,如下所示:

@helper.form(action = routes.Users.formHandle("title")) {
<fieldset>

@select(
    firstForm("country"), 
    options = options(Country.listAll),
    '_default -> "--- Choose a country ---",
    '_showConstraints -> false,
     '_label -> "country",               
)

@select(
    firstForm("state"), 
    options = options(State.listAll),
    '_default -> "--- choose your state ---",
    '_showConstraints -> false,
    '_label -> "state",               
)                                        
}   

在路线文件中我有:

GET  /submit  controllers.Users.formHandle(String : sen)

显然,在提交表单后,网址将如下:

host/submit?country=nameOfTheCountry&state=nameOfTheState 

如何将上述网址更改为:

host/submit/nameOfTheCountry/nameOfTheState

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

当Web浏览器使用GET方法提交表单时,它会将所有参数放入查询字符串中 - 这就是HTML规范。你不能让它做任何其他事情。如果您希望它执行其他操作,那么您必须使用JavaScript来拦截表单提交,并自己手动在JavaScript中构建URL,然后将窗口位置设置为该URL。