如何在Spring Expression Language(SpEL)中连接两个字符串


问题内容

在我的spring应用程序中,控制器和服务类中的方法具有此注释以达到安全目的:

@PreAuthorize("hasPermission(#user, 'cadastra')")

第二个参数,即权限,应采用以下格式:

<<action_name>>_<<class_name>>

考虑到类名由谁持有,我应该使用什么表达式来实现this.getClass().getName()


问题答案:

我终于解决了。我在控制器中添加了一个新方法:

public String getName() {
    String nome_classe = entityClass.getSimpleName();
    System.out.println("getName nome_class = "+nome_classe);
    return nome_classe;
}

现在我以这种方式使用注释:

@PreAuthorize("hasPermission(#user, 'cadastra_'+#this.this.name)")