【发布时间】:2010-08-05 07:37:30
【问题描述】:
我在表单中有一个组件:
<a:form id="myform">
<a:somecomponent id="comp">
</a:form>
还有一个巨大的 css 文件,它为 id 为“comp”的组件附加了一些样式。
但是,这不起作用,因为在呈现的 html 页面中,组件名称变为“myform:comp”。
如何防止这种情况发生?在 css 中使用 myform:comp 似乎不起作用:-(
【问题讨论】:
我在表单中有一个组件:
<a:form id="myform">
<a:somecomponent id="comp">
</a:form>
还有一个巨大的 css 文件,它为 id 为“comp”的组件附加了一些样式。
但是,这不起作用,因为在呈现的 html 页面中,组件名称变为“myform:comp”。
如何防止这种情况发生?在 css 中使用 myform:comp 似乎不起作用:-(
【问题讨论】:
您必须在表单标签中添加prependId="false"。
<a:form id="myform" prependId="false">
<a:somecomponent id="comp">
</a:form>
【讨论】:
您只需要使用here 详述的richfaces 功能。在这种情况下可以使用#{rich:clientId(‘comp’)}。
编辑:另见this answer
【讨论】:
目前我发现的最好的解决方案是不使用id,而是使用样式类,并将css文件中所有出现的#comp替换为.comp:
<a:form id="myform">
<a:somecomponent styleClass="comp">
</a:form>
但是,我不认为这是一个“干净”的解决方案...
【讨论】: