this answerを読んだ後、私はまだ困惑しています。私は、JSTLを避け、その評価が間違った段階でどのように起こるかを理解することに同意します。ただし、facelets開発サイトのdocumentationでは、<ui:fragment>
タグは2つの属性、つまりid
とbinding
をサポートしているように見えます。だから、たとえ実装がrendered
をサポートしていても、それを利用する運命を誘惑しているようです。しかし、<h:panelGroup>
を使用して、<div>
要素を応答に挿入すると、(コンテンツをインラインからブロックに変更するなど)望ましくない副作用を引き起こす可能性があります。誰かがこれを回避する方法を知っていますか?特に、私は次の試みています:Faceletカスタムコンポーネント - レンダリングを防止する
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition>
<ice:selectOneListbox binding="#{binding}" rendered="#{modeExisting}">
<f:selectItems
value="#{binding.allTagsSelectItems}" />
</ice:selectOneListbox>
<ice:inputText binding="#{binding.name}" />
<ice:inputText binding="#{binding.description}" />
</ui:composition>
</html>
。私はブロックの周りに<ice:panelGroup>
を置くことができ、それのレンダリングされた属性を使用しますが、再度、その追加のdivを注入する副作用がある可能性があります。この仕事をする方法はありますか?私は私のJSF XHTMLでこれを使用できるようにするに
<?xml version="1.0"?>
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://www.mitre.org/asias/jsf</namespace>
<tag>
<tag-name>configurationTagEditor</tag-name>
<source>../component/configurationTagEditor.xhtml</source>
</tag>
<tag>
<tag-name>configurationTagSelector</tag-name>
<source>../component/configurationTagSelector.xhtml</source>
</tag>
<tag>
<tag-name>configurationTagRegexTable</tag-name>
<source>../component/configurationTagRegexTable.xhtml</source>
</tag>
</facelet-taglib>
:
また、私がこれにfacelet-のtaglibとペア以上のカスタムコンポーネントを使用していますことを言及する価値があるかもしれ
...
<ice:panelTab label="Existing" styleClass="configurationTagsExisting">
<m:configurationTagEditor tag="#{configuration.existingTag}" />
</ice:panelTab>
...
ありがとう、私は気づいていませんでした。私の参考資料は、JSFではなくIcefacesのものでした。対応するpanelGroup要素のicefacesドキュメントには、「panelGroupコンポーネントは子コンポーネントの周りに「div」要素をレンダリングし、「style」属性の値を「style」属性、および「classClass」属性の値としての「styleClass」属性の値を含む。再度、ありがとうございます。私は、この目的のためにJSF panelGroupを使用します。 – Lucas
これは 'h:panelGroup'ではなく、' ice:panelGroup'の説明です。ここで確認してください:http://download.oracle.com/javaee/6/javaserverfaces/2.0/docs/pdldocs/facelets/index.html – BalusC