0
我有一个持有用户会话的类,例如用户名,电话号码和域。对于所有意图和目的,这是它的基础看起来的样子:Grails 3调用外部方法
public class User {
private String username;
private String domain;
private List<GrantedAuthority> authorities = new ArrayList<>();
public void addRole(final String role) {
authorities.add(new SimpleGrantedAuthority(role));
}
public List<GrantedAuthority> getAuthorities() {
return authorities;
}
}
我有提取从背景下,这个用户类,并呈现其属性。这是这个类的样子:
class UserSession {
def getLoggedInUser() {
User user = SecurityContextHolder.getContext().getAuthentication().getPrincipal()
println("################### we are gonna return " + user)
return user.domain + "\\" + user.username
}
}
我遇到的问题是,我不知道如何从主要布局GSP(基本模板)调用getLoggedInUser。
我试图做这样的事情至今:
<g:set var="userSession" bean="UserSession"/>
<span id="userInfo">${userSession.loggedInUser}</span>
但是,页面是空白和方法不会被调用。我的问题是:如何从基础布局gsp中调用一个方法,而不是在每个控制器中调用一个可以从特定的bean/class访问的方法?
你是否试图让getLoggedInUser方法是静态的? 顺便说一句,不使用弹簧安全? 你可以做 –
sct999
啊,那秒:标签就像一个魅力一样工作。谢谢!我想你应该写答案,所以我可以将它标记为已回答 – angryip
我将它添加为aswer :) – sct999