首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spring Expression Language (SpEL)中如何连接两个字符串

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

Stack Overflow用户
提问于 2014-06-09 21:23:40
回答 2查看 19.8K关注 0票数 9

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

代码语言:javascript
复制
@PreAuthorize("hasPermission(#user, 'cadastra')")

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

代码语言:javascript
复制
<<action_name>>_<<class_name>>

考虑到类名是由this.getClass().getName()保存的,我应该使用什么表达式来实现这一点

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-19 21:48:56

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

代码语言:javascript
复制
public String getName() {
    String nome_classe = entityClass.getSimpleName();
    System.out.println("getName nome_class = "+nome_classe);
    return nome_classe;
}

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

代码语言:javascript
复制
@PreAuthorize("hasPermission(#user, 'cadastra_'+#this.this.name)")
票数 3
EN

Stack Overflow用户

发布于 2014-06-18 06:35:41

要在Spring EL中连接两个字符串,可以使用concat函数。有关更多详细信息,请查看此处:Spring EL docs

例如,我使用了以下代码:

代码语言:javascript
复制
    @PreAuthorize("hasRole('ROLE_'.concat(this.class.simpleName))")
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24121277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档