将颜色更改为<ice:commandlink> </ice:commandlink>

时间:2012-01-03 09:25:53

标签: java jsf icefaces-1.8

我在treetable中有很多命令链接我动态构建它们,如果我想在我点击它时改变一个命令链接的颜色,所有命令链接都会改变颜色,我不知道如何改变这个指定链接的颜色,因为我不知道她的号码或身份证,如果有人知道答案你可以帮助我......

1 个答案:

答案 0 :(得分:1)

<h:commandLink> / <ice:commandLink>将生成HTML <a>元素,其中#上的href使用JavaScript提交隐藏的POST表单,因此他们基本上都会拥有相同 href,这就是为什么当您点击其中一个时,它们都会显示为“已访问”。

如果您真的担心点击了哪个链接,那么您也隐含地担心链接的幂等性。在这种情况下,您不应该使用命令链接,而只能使用<h:outputLink>创建的普通输出链接,或者当您已经使用<h:link>时已经在JSF2上创建。您可以通过嵌套的<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>

这样,每个链接都是唯一的,因此只有在点击实际链接时才会显示为“已访问”。