最近はPlayFrameworkを使って開発しています。
本当に最近は濃い日々が続きます。なんせ、やることなすことみんな新しいですからね。
さて、PlayFrameworkで困ったことが発生しました。
helperの中にformクラスがありますが、これってmethodはどう指定するの? ってのがわからなかったのです。
色々情報をみましたが、皆スルーしちゃっているヨー!
困りました。が、ふと思い浮かんだことを試したらできました。
どうやら、routesでurlとコントローラの紐付け、またその通信で使用するmethodを指定しますが、どうやら「それ」がformのmethodになるらしいです。
- TestController.java
public class TestController extends Controller { public static Result index() { return ok("index."); } public static Result add() { return ok("add."); } }
- test.scala.html
@helper.form(action = routes.TestController.add()) { 〜 省略 〜 }
- routes
GET /index/ controllers.TestController.index() GET /add/ controllers.TestController.add()
こんな感じかな?
んで、これで実行すると
<form action="/add/" method="GET">
methodがGETで出力されます。
変更してみます。
- routes
GET /index/ controllers.TestController.index() # さっきはGETだったけど、今度はPOSTで POST /add/ controllers.TestController.add()
すると・・・
<form action="/add/" method="POST">
Fooooooooooooooooo!!!!!
以上です。