问题标签 [spring-el]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
787 浏览

spring - XML 配置文件中的 Spring 表达式“文字”

我有一个简单的类,例如:

不幸的是,当我尝试注册提供者时,它会尝试评估提供的表达式:

关于如何让 Spring 将 value 属性视为字符串/表达式文字的任何想法?

0 投票
3 回答
2187 浏览

grails - 如何在 Grails 中使用 Spring Security 进行基于规则的授权?

Spring Security非常适合进行基于角色的授权,但在基于规则的授权方面似乎有所不足。当然,有一些方法可以通过 SpEL 来实现,但走这条路似乎会将您的授权逻辑锁定在注释中,而将逻辑提取到服务中会更好,以便多个地方可以使用相同的逻辑。

似乎有一些 方法 可以添加 自己的 SpEL 表达式,但注意特别清楚,甚至那些对我来说有意义的方法似乎也达不到要求。我认为,鉴于Groovy 的灵活性,必须有某种方法不必将依赖项硬编码在一起,而是在运行时获取安全规则(或 SpEL 扩展)。

虽然并不理想,但即使像定义所有所需的新规则并注入 as mixins(即。SecurityExpressionRoot.mixin MyRule1)这样看似简单的事情也是一个好的开始,但这似乎不起作用。

有谁知道这样做的例子?如果没有,我自己怎么做呢?


一个(简化)示例:如果 4 个字段中有 3 个的值超过特定阈值,则用户只能对对象执行特定操作(即执行服务方法),但前提是对象小于 3 天:

这是更简单的规则之一。

0 投票
1 回答
204 浏览

java - 如何对 Spring Expression Language SpEL 中的域对象集合进行身份验证

我的原则是一个“foo”的实例,它有一个“bars”的集合。每个 'bar' 都有一个我想与作为请求的资源传递的 'id' 匹配的 id。我可以在 Spring SpEL 中执行以下操作吗?如果是这样,怎么办?

示例(伪语法;因为我不知道正确的方法,这就是我在这里的原因)

基本上相当于这个

0 投票
2 回答
23987 浏览

spring - 在 Spring Framework 中使用带有静态最终变量的 @Value 注释

我想让我的 Spring 应用程序中的请求映射动态化。这样我的网址就无法理解了。而且我可以向用户展示任何毫无意义的东西,并且仍然可以解决映射目的。

为此,我将 URL 的动态部分存储在属性文件中。并想在@RequestMapping注释中使用它。同样的事情将在 JSP 中的客户端完成。我将从属性文件中读取值,然后创建 href。

我正在使用@Value注释来读取属性文件值。

有一个类将所有这些值保存在最终静态变量中。

我正在我的控制器中扩展这个类,并使用@RequestMapping 注释中的静态最终字段,如下所示。

在jsp中,我也在使用href从属性文件中读取值<spring:message/>并生成url。

问题是 jsp 能够根据属性文件值创建正确的 url,但在 @RequestMapping 注释中我的值没有被替换。

谁能告诉我确切的问题?我知道我们不能在初始化后更改静态最终变量的值。那么@Value注解有什么用。

如果这可以通过其他方式完成,那么你也可以给我看。

提前致谢。

0 投票
1 回答
1157 浏览

java - Spring Integration 中使用的 SpEL 表达式中的类型转换

我需要为每条发出的消息添加一个前缀。我可以使用一种方法来做到这一点,但只想让变压器处理它。

问题是消息需要以我无法真正输入的控制代码字符为前缀,然后是一些额外的文本。

例如:

见:http ://en.wikipedia.org/wiki/C0_and_C1_control_codes

然后消息将带有前缀:

但是,我找不到如何在转换器中使用的 SpEL 表达式中对控制代码进行类型转换:

0 投票
1 回答
516 浏览

spring - 拼写表达式 | @CacheEvict | 应用上下文

我正在使用 Spring 的缓存注释。我想从 applicationContextfile 传递缓存 [@CacheEvict(name="vendorCache")] 的名称,或者可以以任何其他方式配置它。

现在我有两个类 VendorDAo 和 NetworkDao 的场景。

现在我有更多方法,但唯一的区别是@CacheEvict。有什么方法可以让我在配置文件中声明缓存名称并将其作为属性传递给 bean。

并且可以在java文件中使用它或者有任何其他方式。任何指针将不胜感激。

问候

拉吉

0 投票
2 回答
4752 浏览

spring - spring 表达式读取文件内容

如何使用spring表达式读取文件内容并将其放入字符串中?

我想做以下事情。

例如,

甚至更好

但是,以上代码都不起作用。

顺便提一下,我使用的是 Spring 3.2.0 版

谢谢。

0 投票
2 回答
725 浏览

spring - 键中的 Spring @Cachable bean 引用

我想在我的一个方法上使用@Cachable 注释,但我有一个问题,即结果取决于不是方法签名一部分的 spring bean 的属性。

所以我想要这样的东西:

我想这实际上是两个问题:如何使用复合键以及如何在表达式中使用另一个 spring bean。

如何使用复合键的问题可能可以像这个 SO 问题一样解决:@Cacheable key on multiple method arguments

但是,我找不到有关如何在此表达式中引用另一个 spring bean 的任何信息。有可能吗?如果可以,怎么做?

0 投票
1 回答
826 浏览

java - 有没有办法通过 Spring 计算财产价值?

我有一颗dataSource豆子。我需要从中提取一个布尔值:

然后在我的 DAO 中使用它来定义行为。

获得这个值的明显方法是dataSource直接注入我的 DAO 类(目前它只使用 EntityManager)。但我很好奇有没有办法只获得布尔标志值?

我们可以在@Value注解中使用spring表达式语言来计算标志吗?或者还有其他选择吗?

0 投票
1 回答
571 浏览

java - 在自定义el函数中注入spring bean

我想创建一个自定义 el 函数以快速从 dao 中选择选项。我正在使用 Spring,我想在我的自定义 el 函数类中注入 spring bean dao。

在 el 函数类中,我使用静态方法,并且无法访问应用程序上下文。我以这种方式使用了 ApplicationContextAware 的实现

但 applicationContext 为空。

访问 applicationContext 的唯一方法是 belove

但是这样我需要在 el 函数参数中传递 PageContext。

我如何创建一个支持 Spring bean 的 el 函数类?我如何以静态方式访问 applicationContext?

谢谢你。