2015-03-31 1 views
0

Я должен написать или изменить форму данных пользователя в Grails. Это моя форма:Обновить или изменить форму данных пользователя в Grails

<g:form class="form-signin" controller="VisitorSpace"> 
    <label for="login" class="sr-only">Login</label> 
    <g:textField id="login" class="form-control" name="login" placeholder="login" required="" autofocus=""/> 
    <label for="firstName" class="sr-only">Your name</label> 
    <g:textField id="firstName" class="form-control" name="firstName" placeholder="Your name" required="" type="text"/> 
    <label for="lastName" class="sr-only">Your lastname</label> 
    <g:textField id="lastName" class="form-control" name="lastName" placeholder="Your lastname" required="" type="text"/> 

    <label for="inputEmail" class="sr-only">e-mail</label> 
    <g:textField id="inputEmail" class="form-control" name="email" placeholder="e-mail" required="" autofocus="" data-translatable-string="Email address" type="email"/> 
    <label for="inputPassword" class="sr-only">Password</label> 
    <g:passwordField id="inputPassword" class="form-control" name="password" placeholder="Password" required="" data-translatable-string="Password"/> 

    <label for="confirmPassword" class="sr-only">Confirm password</label> 
    <g:passwordField id="confirmPassword" class="form-control" name="controlPassword" placeholder="Confirm password" required="" data-translatable-string="Password"/> 
    <g:actionSubmit value="Commit change" action="updateUserData" class="btn btn-lg btn-primary btn-block">Commit change</g:actionSubmit> 
</g:form> 

Старые данные должны быть указаны в полях, поэтому он должен быть отправлен из базы данных в тот момент, когда вид-форма будет загружена. Я знаю, что можно вызвать для этого требуемый метод-контроллер, и такой метод должен быть вызван до или во время загрузки формы представления. Но как это сделать?

ответ

1

Добавить атрибут value к вашим элементам поля ввода с текущими данными, которые вы хотите получить от контроллера. Это то, о чем вы просите?

<g:textField id="lastName" value="${objectInstance.lastName}" ... /> 
+0

Может быть .. Но теперь я хотел вызвать действие от контроллера, чтобы вставить его результат в значение. Например: value = "$ {showEditableData()}". showEditableData() - это метод от контроллера. Это действие содержит имя пользователя String user = getPrincipal(). Но когда я это делаю, я получаю сообщение об ошибке: такой метод подписи не найден – pragmus

+0

На мой взгляд, есть альтернатива: просмотр рендеринга с параметрами. Параметры могут заменить вызов метода. Я попробую. – pragmus

 Смежные вопросы

  • Нет связанных вопросов^_^