如何从JSF 1.2中的Facelet标记文件访问父组件
我正在用JSF1.2编写一个Facelet标记文件。我希望能够引用父容器。在JSF2.0中,我可以将其作为一个复合组件,并使用如何从JSF 1.2中的Facelet标记文件访问父组件,jsf,parent,facelets,jsf-1.2,tagfile,Jsf,Parent,Facelets,Jsf 1.2,Tagfile,我正在用JSF1.2编写一个Facelet标记文件。我希望能够引用父容器。在JSF2.0中,我可以将其作为一个复合组件,并使用{cc.parent}。但是有没有一种与JSF1.2相当的方法可以做到这一点呢 taglib.xml <?xml version="1.0"?> <!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" "facelet-taglib_1
{cc.parent}
。但是有没有一种与JSF1.2相当的方法可以做到这一点呢
taglib.xml
<?xml version="1.0"?>
<!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" "facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://company.com/jsf</namespace>
<tag>
<tag-name>parentid</tag-name>
<source>../components/parentid.xhtml</source>
</tag>
</facelet-taglib>
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:ui="http://java.sun.com/jsf/facelets">
<!-- The next line is the line that isn't working for me -->
<h:outputText binding="#{obj}" value="Parent id is: #{obj.parent.id}" />
</ui:composition>
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:rich="http://richfaces.org/rich"
xmlns:test="http://company.com/jsf"
xmlns:ui="http://java.sun.com/jsf/facelets">
...
<a:form id="form1">
<test:parentid />
</a:form>
<a:form id="form2">
<test:parentid />
</a:form>
...
</ui:composition>
我想要的是:
Parent id is: form1
Parent id is: form2
因此,无论最后一个绑定是什么,组合中的绑定都会被覆盖。我试着用一张地图和它绑定,但是没有用。
我如何解决这个问题?这可能会有帮助:@BalusC,谢谢!这让我非常接近Rhava,你尝试过使用javascript或jquery吗?是的,我最终手工制作javascript来解决导致我搜索JSF 1.2的“内省”类型内容的问题。尽管如此,我还是很想知道这样的事情是如何做到的。@dave:使用自定义标记处理程序。
Parent id is: form1
Parent id is: form2