有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将颜色更改为<ice:commandLink>

我在我的树表中有很多命令链接,我可以动态地构建它们,如果我想在单击一个命令链接时更改其颜色,所有命令链接都会更改颜色,我不知道如何更改这个指定链接的颜色,因为我不知道她的号码或id,如果有人知道答案,你能帮我吗


共 (1) 个答案

  1. # 1 楼答案

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

    如果你真的担心点击了哪个链接,那么你也在暗中担心链接的幂等性。在这种情况下,您不应该使用命令链接,而应该使用普通的输出链接,您可以使用<h:outputLink>或者,当您已经使用JSF2时,使用<h:link>创建这些链接。您可以通过嵌套的<f:param>传递参数,并且可以通过<managed-property>/@PostConstruct或者,当您已经使用JSF2时,通过<f:viewParam><f:event type="preRenderView">调用目标视图上的操作(例如,准备一些模型对象)

    例如

    <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>
    

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