Кажется, здесь есть несколько логистических ошибок
Во-первых, вы, кажется, дважды пересылаете шаблон messageBox.В вашем клиентском gsp вы звоните ...
<g:render template="messageBox" model="${[sms:sms]}/>
При загрузке страницы "sms" всегда будет нулевым, если вы не предоставили один при загрузке страницы.Тогда вы, кажется, снова вызываете его в своем контроллере ...
render(template: messageBox, model:[sms:sms])
Кроме того, я бы переместил div: 'msgBox' за пределы шаблона и в ваш клиент что-то вроде ...
<g:form>
<label for="id">Sms ID </label>
<g:textField name="id" />
<g:submitToRemote value="search" update="msgBox"
url="[controller:'sms', action:'send']"/>
</g:form>
<div id="msgBox">Waiting for some AJAX!</div>
Наконец, убедитесь, что в вашем заголовке есть библиотека javascript, например, прототип или jquery.Я не уверен, что это решит ваши проблемы, но это будет хорошим началом.Дайте мне знать!