私のオフィスにカスタムコンポジットコンポーネントtaglibを作成しようとしていますが、ELで奇妙な問題が発生します。 #{cc.attrs。[var]}のような式は既に空であるとみなされます。JSF2.0:ELはコンポジットコンポーネントtaglibで解決されていません
私はjarファイルでtaglibを作成しようとしています。私のjarファイルに私は私のファイルは、以下のように注文した:
| _/
..... | _ META-INF
.......... | _ COMPO。 taglib.xml
.......... | _リソース
............... | _部品
.... ................ | _ hello.xhtml
compo.taglib.xmlは含まれています
<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
version="2.0">
<namespace>http://www.example.com/jsf/compo</namespace>
<composite-library-name>compo</composite-library-name>
<tag>
<tag-name>hello</tag-name>
<source>./components/hello.xhtml</source>
</tag>
</facelet-taglib>
hello.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:composite="http://java.sun.com/jsf/composite">
<composite:interface name="hello" displayName="hello">
<composite:attribute name="name" required="true" type="String"/>
</composite:interface>
<composite:implementation >
hello #{cc.attrs.name}!
</composite:implementation>
</html>
私のWebプロジェクトは、瓶、JSF-impl.jarのとJSFのように私のtaglib libのWEB-INFに含まれています-api.jar(Mojarraから)私のページはそれだけです:
<?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:comp="http://www.example.com/jsf/compo" >
<body>
<comp:hello name="John"></comp:hello>
</body>
</html>
「hello!」を参照してください。しかし、 "こんにちはジョン!"属性値はどこかで失われているようです。私はこのサンプルをtomcat 6.0.29とWebsphere 7で試してみます。
私は間違っていますか?