2011-03-14 56 views
0

目前我正在創建一個web菜單,由<h:outputLabel>的集合組成。這很好,因爲標籤可以與JavaScript OnClick事件相結合。但是,當我想要做一些服務器端處理時,它變得如此複雜(至少在我的知識有限的情況下)。JSF Outputlabel點擊事件調用Bean方法

我把這樣的事情

<h:outputLabel id="Button" onclick="showDiv()"> 
    <h:outputText value="My Homepage"/> 
</h:outputLabel> 

我嘗試添加<f:ajax>,而是人,它不工作,我必須把它放在<h:form>。有沒有優雅和簡單的方法來做到這一點?

我想要做的就是當用戶點擊標籤時,一些bean方法應該被激活。

在此先感謝。

回答

2

有在JSF幾種方式獲得所需的行爲,這裏就是其中之一:

使用<h:commandLink>並調用您的支持bean方法action屬性:

<h:commandLink action="#{bean.doSomething()}" value="My Homepage" /> 

<h:outputLabel>用於標記一些輸入元素,而不是觸發操作。我認爲你不能在h:outputLabel中輸入h:outputText。請參閱Java EE documentation關於使用它的正確方法。

希望這會有所幫助!

+0

嘿謝謝你的答案。我知道我可以使用命令鏈接,但顯然我試圖避免出現鏈接(下劃線和藍色)。 – 2011-03-15 05:59:39

+0

不客氣!嘗試使用CSS來格式化commandLink。 – 2011-03-15 06:23:55

0

對於我來說,我在下面用CSS來刪除下劃線在commandLink

.borderRemover { 
    border: none; 
    text-decoration: none; 
} 

希望這會幫助你。

+1

您是否回答正確的問題?你是否坐在正確的瀏覽器窗口/標籤?這與目前提出的問題完全沒有關係。這也超出了我爲什麼這個「答案」得到讚揚。 – BalusC 2014-01-28 07:11:51

+0

對不起,我試圖通過@matt評論/添加上面的答案,但它變成/看起來我回答了它。下次我會小心的。謝謝。 – erictan1974 2014-01-29 08:38:21