独立gsp视图中的grails错误消息

时间:2014-10-13 16:32:47

标签: grails search message

在我的grails项目中,我构建了一个新视图,用户可以在其中执行实体搜索。 我创建了gsp,在控制器中添加了方法search(),并按照here所述自动创建gsp 在这个gsp中只有一个输入字段和一个g:actionSubmit按钮。如果我用正确的数据填写表单一切正常,但如果数据没有任何对应,我会在视图中看到错误消息,如弹出窗口的验证错误消息...但我不知道如何显示它因为我没有使用任何带有这个gsp的bean。 另外,在出错之后,我会渲染相同的视图,但是render(view: "search", model: [patientInstance: patientInstance])视图是相同的,但路径是/ index而不是/ search ...

如何显示错误讯息?我怎样才能有正确的道路?

这是搜索()

def search()
{

    def patientInstance = new Patient()


    if(params.patient_textField == "" || params.patient_textField == " " || params.patient_id =="")
    {

        //here I would like to show message

        //the redirect works correctly
         redirect(controller: "patient", action: "search")
    }

    else {

        def patientToShow = Patient.findById(params.patient_id)
        redirect(controller: "patient", action: "show", params: [id: patientToShow?.id])
    }

}

这是gsp的片段

 <g:form>
<div id="patientDiv">
    <label for="patient">
        <g:message code="event.patient.label" default="Patient" />

    </label>

        <input style=" margin: 0px 10px 10px 0px;" type="text" name="patient_textField" id="patient_textField" value="" placeholder="${g.message(code: 'patient.choose', default: 'Insert Patient...')}" />
        <input type="hidden" id="patient_id" name="patient_id" value="" />        

    <g:actionSubmit class="search" value="${g.message(code: 'default.search.label', default: 'Search Patient')}" action="search" ></g:actionSubmit>
</div>
</g:form>

编辑: 用redirect(controller: "patient", action: "search")

解决了路径变换渲染的问题

1 个答案:

答案 0 :(得分:1)

在你的代码的错误部分你可以做flash.error =“你的错误信息在这里” 在gsp中做了类似的事情:

<g:if test="${flash.error}">
    <div class="alert alert-info">
      ${flash.message}
    </div>
  </g:if>

范围内已有一个flash bean。 http://grails.org/doc/latest/ref/Controllers/flash.html