Form Bean に値をセットするには ?
以前お題として出した政令指定都市のやつを Velocity で書き変えようと思ってるんだけど、ちょっと困ったことが。
<!doctype html> <html> <head> <title>日本の政令指定都市一覧</title> <link rel="stylesheet" href="css/list.css" type="text/css"> </head> <body> <table summary="政令指定都市一覧"> <caption>日本の政令指定都市一覧</caption> <thead> <tr> <th id="no">No.</th> <th id="pref">都道府県</th> <th id="name">都市名</th> <th id="button"></th> </tr> </thead> <tbody> #foreach ($city in $citylist) #set ($i = $foreach.index % 2) <tr class="tr$i"> <td>$city.cityId</td> <td>$city.prefName</td> <td>$city.cityName</td> <td class="td1"> <form action="$link.setAction('/detail')" method="post"> <div> <input type="hidden" name="id" value="???"> <input type="submit" value="詳細"> </div> </form> </td> </tr> #end </tbody> </table> </body> </html>
たぶんこんな感じになる。で、問題は ??? の部分。ここに $city.cityId の値が入るようにしたいんだけど、それだと Form Bean に値がセットされないので正しく遷移せずエラー画面(自前で用意したもの)に飛ぶ。うーん、どうすれば…。
追記 : 失敬。$city.cityId でいいみたい。どうやら token の問題でした。というわけで、正しくはこうなる。
<!doctype html> <html> <head> <title>日本の政令指定都市一覧</title> <link rel="stylesheet" href="css/list.css" type="text/css"> </head> <body> <table summary="政令指定都市一覧"> <caption>日本の政令指定都市一覧</caption> <thead> <tr> <th id="no">No.</th> <th id="pref">都道府県</th> <th id="name">都市名</th> <th id="button"></th> </tr> </thead> <tbody> #foreach ($city in $citylist) #set ($i = $foreach.index % 2) <tr class="tr$i"> <td>$city.cityId</td> <td>$city.prefName</td> <td>$city.cityName</td> <td class="td1"> <form action="$link.setAction('/detail')" method="post"> <div> <input type="hidden" name="id" value="$city.cityId"> <input type="hidden" name="$form.getTokenName()" value="$form.getToken()"> <input type="submit" value="詳細"> </div> </form> </td> </tr> #end </tbody> </table> </body> </html>