Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSF1.2中EL调用带参数的方法_Jsf_El_Jsf 1.2 - Fatal编程技术网

JSF1.2中EL调用带参数的方法

JSF1.2中EL调用带参数的方法,jsf,el,jsf-1.2,Jsf,El,Jsf 1.2,我使用一个数据表,每行有两个按钮,一个“编辑”和一个“删除” 我需要将这些按钮设置为只读,即,如果相关行满足特定条件,则禁用这些按钮。我在JSF2中看到,可以将参数传递给方法调用。JSF1.2中是否有类似的东西 理想情况下,我希望它是这样的(循环变量是loop,还有另一个bean helper,它包含我希望调用的方法): 在这种情况下,向bean添加isEditable属性没有语义意义,在bean周围创建包装器对象也不实际 提前谢谢 我在JSF2中看到,可以将参数传递给方法调用。JSF1.2

我使用一个数据表,每行有两个按钮,一个“编辑”和一个“删除”

我需要将这些按钮设置为只读,即,如果相关行满足特定条件,则禁用这些按钮。我在JSF2中看到,可以将参数传递给方法调用。JSF1.2中是否有类似的东西

理想情况下,我希望它是这样的(循环变量是loop,还有另一个bean helper,它包含我希望调用的方法):


在这种情况下,向bean添加isEditable属性没有语义意义,在bean周围创建包装器对象也不实际

提前谢谢

我在JSF2中看到,可以将参数传递给方法调用。JSF1.2中是否有类似的东西

向方法调用传递参数不是JSF2特有的。它特定于EL2.2,而EL2.2又是JSP2.2/Servlet3.0/JavaEE6的一部分。JSF2恰好也是JavaEE6的一部分。换句话说,如果您将JSF 1.2 web应用程序部署到与Servlet 3.0兼容的容器(如Tomcat 7、Glassfish 3等)上,并且您的
web.xml
声明为符合Servlet 3.0规范版本,那么它也将为JSF 1.x设置相应的框

但是,如果您仍然针对较旧Servlet版本的容器,那么您需要提供一个不同的EL实现,该实现支持使用参数调用方法。其中一种实现是,您只需将文件放到webapp的
/WEB-INF/lib
中,并将以下上下文参数添加到
WEB.xml
即可安装。下面是一个特定于Mojarra的示例(是JSF RI的代码名):


com.sun.faces.expressionFactory
org.jboss.el.ExpressionFactoryImpl
如果将MyFaces用作JSF实现,则需要以下上下文参数:


org.apache.myfaces.EXPRESSION\u工厂
org.jboss.el.ExpressionFactoryImpl
另见:
<h:commandButton value="Edit"
                   disabled="#{helper.isEditable(loop.id)}" />