[Seasar-user:2590] [S2JSF] MyFacesのtree2の使用について

松山 大樹 t.matsuyama
2005年 9月 21日 (水) 14:57:27 JST


 松山と申します。

 S2JSF(1.0.5) で、MyFaces のサンプルにある、tree2 を動作させようと
しているのですが、今ひとつうまくいきません。

 クライアントサイドのサンプルでは、最初のtree(Inbox) は表示されますが、
クリックして展開すると、tree 自体は展開されるものの、イメージが表示
されません。

 サーバサイドのサンプルでは、2つのイメージが並んで(閉じた状態のイメージと
開いた状態のイメージ)表示されてしまいます。

 環境は、WindowsXP、JDK1.4.2、Tomcat5.0.30、S2JSF1.0.5 です。
 myfaces.jar、その他のjar は、S2JSF1.0.5 のexamples に含まれていたものです。
 J2EE の構成は、
 /webapps
    /sample
      /Contents
        /images
          /myfaces ← ここに、myfaces のサンプルのイメージファイルを格納
        sample.html
 となっています。

 ソースは以下の通りです。
 ちなみに、<span m:inject="h:graphicImage" を、<img m:inject="h:graphicImage" m:url="..."
に変更しても同じ結果でした。

---[クライアントサイド]-----------------------------------------------------------
	<span m:inject="x:tree2" id="clientTree" value="#{treeBacker.treeData}" var="node" varNodeToggler="t">
        <span m:inject="f:facet" name="person">
            <span m:inject="h:panelGroup">
                <span m:inject="f:facet" name="expand">
                	<span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="f:facet" name="collapse">
                	<span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="h:outputText" value="#{node.description}" styleClass="nodeFolder"/>
            </span>
        </span>
        <span m:inject="f:facet" name="foo-folder">
            <span m:inject="h:panelGroup">
                <span m:inject="f:facet" name="expand">
                	<span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="f:facet" name="collapse">
                	<span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="h:outputText" value="#{node.description}" styleClass="nodeFolder"/>
                <span m:inject="h:outputText" value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
            </span>
        </span>
        <span m:inject="f:facet" name="bar-folder">
            <span m:inject="h:panelGroup">
                <span m:inject="f:facet" name="expand">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/blue-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="f:facet" name="collapse">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/blue-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="h:outputText" value="#{node.description}" styleClass="nodeFolder"/>
                <span m:inject="h:outputText" value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
            </span>
        </span>
        <span m:inject="f:facet" name="document">
            <span m:inject="h:panelGroup">
                <span m:inject="h:commandLink" immediate="true" styleClass="#{t.nodeSelected ? 'documentSelected':'document'}" actionListener="#{t.setNodeSelected}">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/document.png" border="0"/>
                    <span m:inject="h:outputText" value="#{node.description}"/>
                    <span m:inject="f:param" name="docNum" value="#{node.identifier}"/>
                </span>
            </span>
        </span>
     </span>
----------------------------------------------------------------------------------

---[サーバサイド]-----------------------------------------------------------------
     <span m:inject="x:tree2" id="serverTree" value="#{treeBacker.treeData}" var="node" varNodeToggler="t" clientSideToggle="false">
        <span m:inject="f:facet" name="person">
            <span m:inject="h:panelGroup">
                <span m:inject="h:commandLink" immediate="true" action="#{t.toggleExpanded}">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="h:outputText" value="#{node.description}" styleClass="nodeFolder"/>
            </span>
        </span>
        <span m:inject="f:facet" name="foo-folder">
            <span m:inject="h:panelGroup">
                <span m:inject="h:commandLink" immediate="true" action="#{t.toggleExpanded}">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/yellow-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="h:outputText" value="#{node.description}" styleClass="nodeFolder"/>
                <span m:inject="h:outputText" value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
            </span>
        </span>
        <span m:inject="f:facet" name="bar-folder">
            <span m:inject="h:panelGroup">
                <span m:inject="h:commandLink" immediate="true" action="#{t.toggleExpanded}">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/blue-folder-open.png" rendered="#{t.nodeExpanded}" border="0"/>
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/blue-folder-closed.png" rendered="#{!t.nodeExpanded}" border="0"/>
                </span>
                <span m:inject="h:outputText" value="#{node.description}" styleClass="nodeFolder"/>
                <span m:inject="h:outputText" value=" (#{node.childCount})" styleClass="childCount" rendered="#{!empty node.children}"/>
            </span>
        </span>
        <span m:inject="f:facet" name="document">
            <span m:inject="h:panelGroup">
                <span m:inject="h:commandLink" immediate="true" styleClass="#{t.nodeSelected ? 'documentSelected':'document'}" actionListener="#{t.setNodeSelected}">
                    <span m:inject="h:graphicImage" value="/Contents/images/myfaces/document.png" border="0"/>
                    <span m:inject="h:outputText" value="#{node.description}"/>
                    <span m:inject="f:param" name="docNum" value="#{node.identifier}"/>
                </span>
            </span>
        </span>
    </span>



Seasar-user メーリングリストの案内