【问题标题】:Pass params of one view to a controller将一个视图的参数传递给控制器
【发布时间】:2014-09-03 22:05:00
【问题描述】:

我正在使用 Play Framework 2.x,我正在尝试将一个按钮的值传递给我的控制器中的一个方法,我有这个:

查看:

<form action="@routes.Application.changeLanguage()" method="get"/>
    <input name="language" type="submit" value="en" title="@Messages("button.en")" </>
    <input name="language" type="submit" value="es" title="@Messages("button.es")" </>
</form>

路线:

GET     /       controllers.Application.changeLanguage(language: String ?= "")

控制器:

public static Result changeLanguage(String language){
    if(language == null || language.isEmpty()){
        changeLang("en");

    } else {
        changeLang(language);

    }

    return ok(index.render(""));
}

在我的 URL 中我可以看到这个 language=en 但方法 changeLanguage 从来没有收到语言的值,我可以帮帮我吗??

【问题讨论】:

  • 我刚刚重新创建了这个测试用例,它工作得很好。您确定没有使用 GET / 映射任何其他操作吗?确保调用了 changeLanguage 操作。

标签: java forms playframework playframework-2.3


【解决方案1】:

只需像这样编辑路线;

GET /changeLanguage controllers.Application.changeLanguage(language: String ?= "")

ps:检查 changeLanguage 在您的路由文件中是否唯一。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多