我正在使用数据表,每行我有两个按钮,一个是"编辑"和一个"删除".
如果所讨论的行符合某个条件,我需要这些按钮是只读的,即禁用.我在JSF 2中看到,可以将参数传递给方法调用.在JSF 1.2中有什么相同的东西吗?
理想情况下我想要的东西(循环变量是循环,还有另一个bean,helper,它包含我想调用的方法):
<h:commandButton value="Edit"
disabled="#{helper.isEditable(loop.id)}" />
Run Code Online (Sandbox Code Playgroud)
在这种情况下,向bean 添加isEditable属性并不具有语义意义,并且在bean周围创建包装器对象是不切实际的.
提前致谢.
我在JSF 2中看到,可以将参数传递给方法调用.在JSF 1.2中有什么相同的东西吗?
将参数传递给方法调用并不是特定于JSF 2.它特定于EL 2.2,它又是JSP 2.2/Servlet 3.0/Java EE 6的一部分.JSF 2恰好也是Java EE 6的一部分.换句话说,如果您将JSF 1.2 Web应用程序部署到Servlet 3.0兼容容器(如Tomcat 7,Glassfish 3等),并且您web.xml声明符合Servlet 3.0规范版本,那么它只需解决JSF 1.x的问题.同样.
但是,如果您仍然针对较旧的Servlet版本的容器,那么您需要提供一个支持使用参数调用方法的不同EL实现.其中一个实现是JBoss-EL,您可以通过删除webapp中的jboss-el.jar文件/WEB-INF/lib并将以下上下文参数添加到web.xml.这是Mojarra特有的例子(Mojarra是JSF RI的代号):
<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
如果您将MyFaces用作JSF实现,则需要以下上下文参数:
<context-param>
<param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
<param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7185 次 |
| 最近记录: |