ELContext:传递变量自定义方式

时间:2018-12-10 16:33:04

标签: java list variables expression el

我已经使用Java EL表达式(javax.el 3.0)创建了以下代码:

@MyLoggingAnnotation(value = "#{userName}")
public void updateUser(
    @MyLoggingParam("userName") String username,
    List<PositionDto> userPositions) {
    updateUserPosition(userName, userPositions)
}

它有效,但是现在我也必须改进它以记录位置。我可以自由地修改 value (注释中的参数)的处理,但是我必须将其保留为对象。 (它可以是列表,数组或其他任何东西,但必须是一个对象)

我的第一个赌注是:

@MyLoggingAnnotation(value = "${[#{userName},#{userPositions}]}")
    public void updateUser(
        @MyLoggingParam("userName") String username,
        @MyLoggingParam("userPostions") List<PositionDto> userPositions)) {
        updateUserPosition(userName, userPositions)
    }

但是它仅使用字符串“#{userName}”和“#{userPositions}”来进行字符串收集

您有更好的主意将这两个对象与EL一起传递吗?

谢谢您的帮助。

解决方案发现,我可以通过EL传递列表,这是一个很大的错误。更正注释后,将显示以下内容:

@MyLoggingAnnotation(value = "${userName, userPositions]}")

现在,我现在可以将值作为单个对象的列表了。

0 个答案:

没有答案