在EL中使用静态方法

AZV*_*ZVR 2 jsf static-methods el

我在这里面对EL一个奇怪的问题。

我只想在EL中使用String.join(),但是它不起作用。

#{String.join(',', myList)}
Run Code Online (Sandbox Code Playgroud)

除了阻止我的页面加载之外,这在JSF中没有做任何事情。我知道我可以做到这一点,<ui:repeat>但我需要在EL表达式中使用它。

有任何想法吗 ?

jkl*_*lee 5

您不能使用EL调用静态方法。创建一个具有调用方法的BeanString.join()

@RequestScoped
@Named
public class StringBean {

    public String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) {
        return String.join(delimiter, elements);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以你可以打电话 #{stringBean.join(',', myList)}