首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JSF的EL表达式可以嵌套吗?action="{menu.navigation}"解决办法

2012-01-10 
JSF的EL表达式可以嵌套吗?action#{menu.navigation}假设有一个bean,classbean{privateStringbindingMet

JSF的EL表达式可以嵌套吗?action="#{menu.navigation}"
假设有一个bean,
class   bean{
    private   String   bindingMethod;
    public   String   getBindingMethod(){
            return   bindingMethod;
    }

    public   void   setBindingMethod(String   bindingMethod){
        this.bindingMethod   =   bindingMethod;
    }
}
..
bean.setBindingMethod( "#{business.do} ")
..
xhtml
<h:commandLink   value= "#{bean.name} "   action= "#{bean.bindingMethod} "/>

问题是
bindingMethod是动态的,怎样使action的表达式可以直接用bindingMethod中的表达式 "#{business.do} "来代替?



[解决办法]
可以这么做 只是我的想法

可以用jstl 或者jsp 在页面来一个if else语句。
<c:test>
</c:test>


<%if(){%>
<h:commandLink value= "#{bean.name} " action= "#{bean.bindingMethod1} "/>
<%}else{%>
<h:commandLink value= "#{bean.name} " action= "#{bean.bindingMethod2} "/>
<%}%>


或者
<h:commandLink value= "#{bean.name} " action= "#{bean.bindingMethod1} " rendered= "#{bean.ifRendered} "/>

<h:commandLink value= "#{bean.name} " action= "#{bean.bindingMethod2} " rendered= "#{not bean.ifRendered} "/>

热点排行