2011-03-28 29 views
0

我使用JSF,嘗試了使用下面的代碼來調用一個數據表中的一個按鈕,點擊頁面如何調用一個按鈕,JSF頁面點擊

<h:column> 
    <h:outputText value=""/> 
    <h:commandButton id = "btn" value="History" action="#{Bean.showHistory}"> 
    </h:commandButton> 
</h:column> 

我bean類icludes的方法「showHistory」返回成功,我也將導航規則包含在faces-config.xml中,但仍無法調用頁面。我的導航規則看起來

<managed-bean> 
    <managed-bean-name>Bean</managed-bean-name> 
    <managed-bean-class> 
     com.bean.HistoryBean 
    </managed-bean-class> 
    <managed-bean-scope>request</managed-bean-scope> 
</managed-bean> 
<navigation-rule> 
    <display-name>List</display-name> 
    <from-view-id>/BookList.jsp</from-view-id> 
    <navigation-case> 
     <from-outcome>success</from-outcome> 
     <to-view-id>/History.jsp</to-view-id> 
    </navigation-case> 
</navigation-rule> 

Bean類由showHistory()作爲

public String showHistory() { 
    return "success"; 
} 

我可以幫助解決這個????

+0

是否調用了方法(Letter「B」應該是小寫字母,是一個錯字?)。你的導航規則是怎樣的? – 2011-03-28 06:09:39

+0

我已將我的導航規則包含在我的帖子中..在BookList.jsp中放置按鈕的歷史記錄,單擊時應打開History.jsp.U也可以找到託管bean,其中HistoryBean類由方法showHistory()組成返回成功。 – Mango 2011-03-28 06:16:18

+0

你的bean中是否有另一個返回「succes」的action方法?如果是這樣,您應該在導航案例中添加'#{bean.showHistory}'。 – 2011-03-28 06:21:25

回答

2

確保您將命令按鈕放在h:form元素內:它應該可以工作!

+0

謝謝Pier.It工作.. !!! – Mango 2011-03-28 09:23:27

0

從源代碼看,一切都很好(當然包括Pier的建議使用h:form標籤)。

嘗試調試並檢查您的操作方法是否被調用。

如果不是,那麼也許你的from-view-id元素不匹配。作爲一個測試,你可以用一個空的元素(所有頁面默認導航)嘗試:

<from-view-id></from-view-id> 

如果一切正常,那麼問題是在你from-view-id元素。也許它在不同的文件夾或大寫/小寫字母錯誤。

+0

謝謝你的時間Handy.I嘗試調試它不能調用方法,因爲你說,但根據Pier的建議,它工作正常 – Mango 2011-03-28 09:24:50

相關問題