Grails Webflow でドロップダウン リストを事前入力する際に問題が発生しました
Webflow用のコントローラーがあります
class ClearanceRequestController {
def index() {
redirect(action: "start")
}
def startFlow = {
contact {
on('next') {
flow.developer = params.developer
flow.project = params.project
flow.projectResponsible = params.projectResponsible
flow.email = params.email
[flow : flow]
}.to('application')
on('cancel').to('finish')
...
ビューは次のようになります: contact.gsp
<g:if test="${message}">
<div class="message">${message}</div>
</g:if>
<g:form action="start" method="post">
<div class="dialog">
<table>
<tbody>
<tr class="prop">
<td valign="top" class="name">
<label for="projectName">Projekt:</label>
</td>
<td valign="top">
<input type="text" id="projectName" name="project" value="${params.project}" />
</td>
</tr>
<g:select name="state" from="${Project?.DIVISION_OPTIONS}" value="${Project?.DIVISION_OPTIONS}"/>
これはプロジェクトの定義です
class Project {
static DIVISION_OPTIONS = ["A", "B", "C", "D"]
String name
String division
String toString(){
"$name"
}
static constraints = {
name(unique: true)
division(inList: DIVISION_OPTIONS)
}
}
制約からデータを取得する方法がわかりません。アクセスしてみた
Project.constraints.division.inList
また
Project.DIVISION_OPTIONS
しかし、どちらも機能しませんでした。プロジェクトをどこかで初期化して contact.gsp に渡す必要があると思いますが、方法がわかりません。