Grails将问卷调查数据映射到bean

时间:2011-12-24 02:44:49

标签: grails grails-domain-class grails-controller

这是我使用Grails的第一个开发。我要求创建问卷。这是我的GSP页面,其中列出了问题,列出了每个问题的可能答案,并根据答案的类型显示复选框或单选按钮。这里工作正常

<div class="body">
        <h1><g:message code="default.edit.label" args="[entityName]" /></h1>
        <g:if test="${message}">
        <div class="message">${message}</div>
        </g:if>
            <g:form  action="createDonation" >
            <div class="dialog">
                <table>
                    <tbody>
                     <g:each in="${questionList}" status="i" var="questionInstance">
                     <tr>
                      <td>${fieldValue(bean: questionInstance, field: "text")}</td>
                      </tr>
                      <tr>
                        <g:each in="${questionInstance?.answers?}" status="j" var="a">
                             <td >
                             <g:if test="${fieldValue(bean: a, field: 'ansType.name') == 'Multiple'}"><g:checkBox name="myGroup" value="${false}" /></g:if>
                             <g:if test="${fieldValue(bean: a, field: 'ansType.name') == 'Single'}"><g:radio name="myGroup" value="1"/></g:if>
                             </td>
                            <td >${fieldValue(bean: a, field: "text")}</td>
                        </g:each>
                      </tr>
                    </g:each>


                    </tbody>
                </table>
            </div>
             <div class="buttons">
                  <span class="button"><g:submitButton name="return" class="save" value="${message(code: 'default.button.backtodonorlogin.label', default: 'Back')}" /></span>
                <span class="button"><g:submitButton name="submit" class="save" value="${message(code: 'default.button.saveandcontinue.label', default: 'Create')}" /></span>
            </div>
        </g:form>

    </div>
</body>

现在我想保存用户的响应,即每个用户为每个问题选择的答案是什么。对于多选,可以选择多个答案。我很难弄清楚如何为此创建模型。 请求帮助。

由于

1 个答案:

答案 0 :(得分:0)

怎么样:你创建一个具有以下属性的QuestionResponse实体: 问题(链接到正在回答的问题) 回复(用户给出的答案) 响应者(响应用户)

例如,您可以使用spring security来了解当前用户。

您可以从表单中的隐藏ID确定正在回复的问题。

相关问题