我在grails Webflow中预填充下拉列表时遇到问题
我有一个用于webflow的 Controller
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')
...
该 View 如下所示:
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,但是我不知道如何。
最佳答案
好的,我知道了,只需在页面中导入Project
,例如
<%@ page import="com.companyName.Project" contentType="text/html;charset=UTF-8" %>
或类似:
<g:select name="state" from="${com.companyName.Project?.DIVISION_OPTIONS}" value="${com.companyName.Project?.DIVISION_OPTIONS}"/>