List Out All Request Header
//in a controller
def showAllHeaders(){
StringBuilder sb = new StringBuilder()
request.headerNames.each{
sb.append(it).append(": ").append(request.getHeader(it))
.append("<br>")
}
render(sb.toString())
}
Showing Message, Error Message, Additional Error Messages in GSP Using Flash
Inside a method in a controller you do:
flash.message = "The request ${camsRequest.getRequestReference()} has been released."
//or, and
flash.error = "Internal Error. Unable to release this request. If this problem persist, please contact the technical support."
//or, and
List<String> errorMessages = []
errorMessages.add("First additional error")
errorMessages.add("Second additional error")
flash.errorMessages = errorMessages
Inside a GSP view, you do:
<div id="message-container" class="container-fluid">
<g:if test="${flash.message}">
<div class="row">
<div class="col-sm-12 alert alert-info">
<b>${flash.message}</b>
</div>
</div>
</g:if>
<g:if test="${flash.error}">
<div class="row">
<div class="col-sm-12 alert alert-danger">
<b>${flash.error}</b>
<ul>
<g:each var="errorMsg" in="${flash.errorMessages}">
<li>${errorMsg}</li>
</g:each>
</ul>
</div>
</div>
</g:if>
<%
flash.message = null
flash.error = null
flash.errorMessages = null
%>
</div>
Note that we added flash.message = null, flash.error = null, and flash.errorMessages = null to make sure those field are cleaned up. We do this because I something notice that these values in flash are not being clean after a response.