Java 创建自己的标记时EL表达式的嵌套

Java 创建自己的标记时EL表达式的嵌套,java,jsf,jsf-2,taglib,Java,Jsf,Jsf 2,Taglib,我正在使用JSF2.0并创建自己的标记。我想要的结果是一个标签,我可以这样使用: <mytaglib:label attr="test" /> <h:outputLabel id="test" value="#{textBean.label['test']}" /> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio

我正在使用JSF2.0并创建自己的标记。我想要的结果是一个标签,我可以这样使用:

<mytaglib:label attr="test" />
<h:outputLabel id="test" value="#{textBean.label['test']}" />
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets">
<h:body>
    <ui:composition>
        <h:outputLabel for="#{attr}" value="#{textBean.label['#{attr}']}:" 
    </ui:composition>
</h:body>
</html>

{textBean.label['{attr}]}
中装箱
{attr}
。有没有办法让它工作,或者我可以采取哪些解决方法让它工作?

您不应该使用嵌套的EL表达式

请尝试以下方法:

value="#{textBean.label[attr]}"

但是,我不能完全确定这是否是完全正确的语法,因为我不知道
textBean
中的
label
代表什么。如果您需要更多信息,请提供一个有效的
textBean

示例,谢谢!我在问题中添加了对
标签
更精确的描述。