Is there a url based t:panelNavigation2
I was planning on using t:panelNavigation2 for a public facing website, but have encountered a problem since the urls are action based instead of link based. I need to make sure the spider can find an index all of my links. Or said in other terms, each page must be bookmarkable.
I don抰 know if this is possible. I抦 thinking it may be by changing how I抦 using "item" in my getMenuNaviagtionItem method. Any ideas?
publicclass NavigationController{
private List items;
public NavigationController(){
setItems(new ArrayList());
items.add(getMenuNaviagtionItem("Form","form1"));
NavigationMenuItem menu1 = getMenuNaviagtionItem("Pages",null);
menu1.add(getMenuNaviagtionItem("Page 1","page1"));
menu1.add(getMenuNaviagtionItem("Page 2","page2"));
items.add(menu1);
}
privatestatic NavigationMenuItem getMenuNaviagtionItem(String label,
String action){
NavigationMenuItem item =new NavigationMenuItem(label, action);
item.setActionListener("#{navigationCtrl.actionListener}");
item.setValue(label);
return item;
}
public String actionListener(ActionEvent event){
if (event.getComponent()instanceof HtmlCommandNavigationItem){
return getAction1();
}else{
String outcome = (String) ((HtmlCommandJSCookMenu) event
.getComponent()).getValue();
return outcome;
}
}
public String getAction1(){
return"go_panelnavigation_1";
}
public List getItems(){
return items;
}
publicvoid setItems(List items){
this.items = items;
}
}
subset of faces-config.xml
<managed-bean>
<managed-bean-name>navigationCtrl</managed-bean-name>
<managed-bean-class>com.arcmind.jsfquickstart.controller.NavigationController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<navigation-case>
<from-outcome>form1</from-outcome>
<to-view-id>/sample1/form1.jspx</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<navigation-case>
<from-outcome>page1</from-outcome>
<to-view-id>/sample1/page1.jspx</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<navigation-case>
<from-outcome>page2</from-outcome>
<to-view-id>/sample1/page2.jspx</to-view-id>
</navigation-case>
</navigation-rule>
subset of my jspx
<h:panelGroup>
<t:div id="subnavigation_outer">
<t:div id="subnavigation">
<h:form>
<t:panelNavigation2 id="nav2" layout="list" itemClass="leftMenu"
activeItemClass="selected" openItemClass="leftSubMenu">
<t:navigationMenuItems id="navitems" value="${navigationCtrl.items}" />
</t:panelNavigation2>
</h:form>
</t:div>
</t:div>
</h:panelGroup>

