Есть ли способ передать значение из параметра Scala в Java в представлении с помощью платформы воспроизведения?
Что-то вроде:
<strong>Title: </strong> @addtitle
<a href="@routes.Application.shopping()" value="Add to Cart"
class="btn btn-primary btn-xs">@Messages("playauthenticate.results.shopping")
</a>
Но я хочу поместить @addtitle
в качестве параметра в @routes.Application.shopping(@addtitle)
Я использую Play Framework 2.2.0.
Да, есть.
Скажем, ваш контроллер Application
в пакете controllers
имел функцию с этой сигнатурой:
public static Result index(String name) { ... }
или (в Скале)
def index(name: String) = Action { ... }
И вы хотели, чтобы обратный маршрутизатор вывел URL-адрес этой функции контроллера из представления:
@routes.Application.shopping(addtitle)
Обратите внимание, что нам не нужен символ @
в аргументах функции. Он уже понял компилятором шаблона, что он читает scala, а не сырой текст. Это, конечно, не ограничивается обратным маршрутизатором, но любой функцией.