嗨,我可以为 el 定义这样的函数:
<function>
<function-name>areAllGranted</function-name>
<function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class>
<function-signature>boolean areAllGranted(java.lang.String)</function-signature>
</function>
</facelet-taglib>
但是,如果我想使用带有初始自动连线字段的 Spring Bean,而不是类的普通新实例,我该怎么办?
如果您使用的是支持 EL 2.2(Tomcat 7、Glassfish 3 等)的 Servlet 3.0 容器,那就去做吧。
<h:someComponent rendered="#{bean.areAllGranted('someString')}">
如果您使用的是不支持它的旧 Servlet 2.5 容器,请安装 JBoss EL,以便您可以使用新的 EL 2.2 语法。这里详细回答了这个问题:在 JSF 1.2 中通过 EL 调用带有参数的方法