2012-01-03 58 views
0

我在我的treetable中有很多可以動態構建它們的命令鏈接,並且如果我想在單擊它時更改一個命令鏈接的顏色,所有命令鏈接都會更改它們的顏色,我不知道如何改變這個指定的鏈接的顏色,因爲我不知道她的電話號碼或身份證號碼,如果有人知道答案可以幫我...將顏色更改爲<ice:commandLink>

+0

CSS應該足夠了。 – Bozho 2012-01-03 09:38:02

回答

1

<h:commandLink>/<ice:commandLink>將生成HTML <a>元素,其中使用JavaScript提交隱藏的POST表單,因此它們基本上最終都具有相同的, href,這就是爲什麼當他們點擊其中一個時它們都會顯示爲「visited」。

如果你真的擔心點擊了哪個鏈接,那麼你隱含地也擔心鏈接的冪等性。在這種情況下,你不應該使用命令鏈接,而只是簡單的輸出鏈接,你可以使用<h:outputLink>創建鏈接,或者當你已經使用JSF2時使用<h:link>。您可以通過嵌套<f:param>傳遞參數,並且您可以通過<managed-property>/@PostConstruct或當您已經在JSF2上時,通過<f:viewParam><f:event type="preRenderView">調用目標視圖上的操作(例如準備某個模型對象)。

E.g.

<h:dataTable value="#{bean.list}" var="item"> 
    <h:column> 
    <h:outputLink value="edit.jsf"> 
     <f:param name="id" value="#{item.id}" /> 
     <h:outputText value="edit item #{item.id}" /> 
    </h:outputLink> 
    </h:column> 
</h:dataTable> 

這樣每個鏈接都是唯一的,因此只有在實際鏈接被點擊時纔會顯示爲「visited」。

+0

非常感謝您的回答 – user1059769 2012-01-04 06:11:55