我在treetable中有很多命令链接我动态构建它们,如果我想在我点击它时改变一个命令链接的颜色,所有命令链接都会改变颜色,我不知道如何改变这个指定链接的颜色,因为我不知道她的号码或身份证,如果有人知道答案你可以帮助我......
答案 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>
这样,每个链接都是唯一的,因此只有在点击实际链接时才会显示为“已访问”。