我有这个表单,当用户键入某些内容时,它将作为finalAnswer
提交,如下所示:
<g:form controller="animais" params="['rootNode': rootNode, 'finalAnswer': finalAnswer]">
<h3>${curQuestion} </h3>
<g:if test="${finished}">
<g:actionSubmit class="btn btn-primary" action="backToStart" value="Voltar" />
</g:if>
<g:if test="${!finished}">
<g:if test="${!showDivTip}">
<g:textField name="finalAnswer" value="${finalAnswer}"/>
<g:actionSubmit class="btn btn-primary" action="submitFinalAnswer" value="OK" />
</g:if>
<g:if test="${showDivTip}">
<g:textField name="tipToFinalAnswer" value="${tipText}"/>
<g:actionSubmit class="btn btn-primary" action="submitTipForAnswer" value="Finalizar" />
</g:if>
</g:if>
</g:form>
问题是,即使内容是一个简单的字符串,finalAnswer
也会作为一个2大小的字符串数组出现在params
中。
当我打印params
:时
[finalAnswer:[, leao marinho], rootNode:2, _action_submitFinalAnswer:OK, action:index, format:null, controller:animais]
params.finalAnswer
:[, leao marinho]
的值
params.finalAnswer
的类别类型:class [Ljava.lang.String;
如何将params.finalAnswer
作为一个简单字符串检索?
试试这个
<g:form controller="animais" params="['rootNode': rootNode]">
<h3>${curQuestion} </h3>
<g:if test="${finished}">
<g:actionSubmit class="btn btn-primary" action="backToStart" value="Voltar" />
</g:if>
<g:if test="${!finished}">
<g:if test="${!showDivTip}">
<g:textField name="finalAnswer" value="${params.finalAnswer}"/>
<g:actionSubmit class="btn btn-primary" action="submitFinalAnswer" value="OK" />
</g:if>
<g:if test="${showDivTip}">
<g:textField name="tipToFinalAnswer" value="${params.tipText}"/>
<g:actionSubmit class="btn btn-primary" action="submitTipForAnswer" value="Finalizar" />
</g:if>
</g:if>
</g:form>
@quindimildev的回答不完全正确。更好的是使用隐藏字段:
<g:form controller="animais">
<g:hiddenField name="rootNode" value="${rootNode}"/>
<g:hiddenField name="finalAnswer" value="${finalAnswer}"/>
<h3>${curQuestion} </h3>
<g:if test="${finished}">
<g:actionSubmit class="btn btn-primary" action="backToStart" value="Voltar" />
</g:if>
<g:if test="${!finished}">
<g:if test="${!showDivTip}">
<g:textField name="finalAnswer" value="${finalAnswer}"/>
<g:actionSubmit class="btn btn-primary" action="submitFinalAnswer" value="OK" />
</g:if>
<g:if test="${showDivTip}">
<g:textField name="tipToFinalAnswer" value="${tipText}"/>
<g:actionSubmit class="btn btn-primary" action="submitTipForAnswer" value="Finalizar" />
</g:if>
</g:if>
</g:form>
所以你可以把它从参数中删除。真的,更清楚了。