[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 メーリングリストの案内