假设有一个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} "/>