2010-06-23 97 views
1

我在JSF中实现菜单导航时遇到了问题,我在其中使用了一个包含在所有其他jsps中的header.jsp,从主页向前导航工作正常,但如果我想要去到任何其他页面使用下拉菜单我收到JavaScript错误为f:没有价值。问题JSF中的多页面导航

,这里是我的header.jsp菜单部分

<li><a href="#" class="MenuBarItemSubmenu">Fund Maintenance</a> 
    <ul> 
    <li class="bottomline"><h:commandLink value="General Ledger Mapping" action="#{fyeSelection.getGLMappingSelection}"></h:commandLink> 
    <li class="bottomline"> 
     <h:commandLink value="File Upload" action="#{fyeSelection.getFYEUploadScreen}"></h:commandLink> 
    </li> 
    <li class="bottomline"> 
     <h:commandLink value="Provision Lock Down" action="#{fyeSelection.getProvisionScreen}"></h:commandLink> 
    </li> 
    <li class="bottomline"> 
     <h:commandLink value="Copy Provision for Tax Return" action="#{fyeSelection.getCopyProvisionTaxScreen}"></h:commandLink> 
    </li> 
    </ul> 
</li> 

在faces-config.xml就像是:

<managed-bean> 
    <description>FYE Selection Screen</description> 
    <managed-bean-name>fyeSelection</managed-bean-name> 
    <managed-bean-class> 
    com.bbh.tea.web.managedbeans.FisicalYearEndSelection</managed-bean-class> 
    <managed-bean-scope>request</managed-bean-scope> 

</managed-bean> 
<navigation-rule> 
    <from-view-id>/views/dashboardtemplate.jsp</from-view-id> 
    <navigation-case> 
    <from-outcome>ProvisionScreen</from-outcome> 
    <to-view-id>/views/provisionpackagelockdown.jsp</to-view-id> 
    </navigation-case> 
</navigation-rule> 


<navigation-rule> 
    <from-view-id>/views/dashboardtemplate.jsp</from-view-id> 
    <navigation-case> 
    <from-outcome>CopyProvisionTax</from-outcome> 
    <to-view-id>/views/copyprovisionfortaxreturn.jsp</to-view-id> 
    </navigation-case> 
</navigation-rule> 

<navigation-rule> 
    <from-view-id>/views/dashboardtemplate.jsp</from-view-id> 
    <navigation-case> 
    <from-outcome>GLMappingSelection</from-outcome> 
    <to-view-id>/views/generalledgerselection.jsp</to-view-id> 
    </navigation-case> 
</navigation-rule> 

和类是像

/** 
    * @return the ProvisionScreen(screen) 
    */ 
public String getProvisionScreen() { 
    return "ProvisionScreen"; 
} 

/** 
    * @return the CopyProvisionTax(screen) 
    */ 
public String getCopyProvisionTaxScreen() { 
    return "CopyProvisionTax"; 
} 

/** 
    * @return the FYEUploadScreen(screen) 
    */ 
public String getFYEUploadScreen() { 
    return "FYEUploadScreen"; 
} 

任何帮助或建议表示赞赏

在此先感谢


感谢您的宝贵意见。是的你是对的,我在里面使用,但是因为我是JSF的新手,所以我没有意识到标签的正确使用。现在,使用后它工作正常。以前我试图改变faces-config.xml来代替使用,但没有运气,因为我得到了一些树编号的编译问题。另外我有一个小问题,我注意到Eclipse Galileo不提供对ui:tags的内容支持。是否有任何特定的原因,或者我需要更改Eclipse中的设置。

再次感谢您的帮助。

问候, 拉维

回答

0

我找到了解决办法。

我们需要使用<h:outputLink代替h:commandLink

感谢

0

Commandlinks需要一个POST表单中。这全部放在<h:form>内吗?它使用JavaScript来提交父表单。您收到的JavaScript错误可能与它无法在HTML DOM中找到父窗体元素有关。

无论如何,使用outputlinks导航是好得多选择(SEO!)。所以继续。