我正在使用 JSF 2.0 并创建自己的标签。我想要的结果是一个我可以这样使用的标签:
<mytaglib:label attr="test" />
这将呈现<h:outputLabel />
这样的:
<h:outputLabel id="test" value="#{textBean.label['test']}" />
TextBean 具有label
(类型Map<String, String>
)属性,它为我提供每个键的文本。
我的 label.xhtml 看起来像这样:
<?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>
#{attr}
内部拳击#{textBean.label['#{attr}']}
似乎不起作用。有没有办法让它工作,或者我可以采取哪种解决方法来让它工作?