我正在Grails编写更新或更改用户数据表单。这是我表单的一部分,用户可以在其中更改旧登录信息:
<g:form class="form-signin" controller="VisitorSpace">
<label for="login" class="sr-only">Логин</label>
<g:textField id="login" class="form-control" name="login" placeholder="Логин" value="${springSecurityService.principal.username}" required="" autofocus=""/>
...
</g:form>
更新前必须显示旧用户数据。我用它:${springSecurityService.principal.username}
但是当我运行这个页面时,我得到了这样的错误:
Error 500: Internal Server Error
URI:/restorator/visitorSpace/editPrivateDataClass:java.lang.NullPointerExceptionMessage:Cannot get property 'principal' on null object
答案 0 :(得分:1)
为了实现这一目标,您必须通过其模型将springSecurityService
传递给GSP。如果您不想传递它,可以使用applicationContext.springSecurityService
从上下文中提取它,或者使用taglib而不是服务。