2014-09-03 2 views
0

Я использую Play Framework 2.x, и я пытаюсь передать значение одной кнопки к способу, в моем контроллере, у меня есть:Pass PARAMS от одного взгляда на контроллер

Вида:

<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-адресе я вижу этот язык = en, но метод changeLanguage никогда не получает значение языка, а кто-нибудь мне может помочь?

+0

Я только что воссоздал этот тестовый пример, и он работает очень хорошо. Вы уверены, что у вас нет других действий, связанных с GET /? Убедитесь, что вызывается действие changeLanguage. –

ответ

0

просто редактируйте маршруты как это;

GET/changeLanguage controllers.Application.changeLanguage (язык: String = ""?)

пс: проверить, что changeLanguage является уникальным в файле маршрутов.