相关疑难解决方法(0)

哪些字符在CSS类名/选择器中有效?

CSS类选择器中允许使用哪些字符/符号?我知道以下字符无效,但哪些字符有效

~ ! @ $ % ^ & * ( ) + = , . / ' ; : " ? > < [ ] \ { } | ` #
Run Code Online (Sandbox Code Playgroud)

css css-selectors

1171
推荐指数
10
解决办法
37万
查看次数

如何在CSS选择器中使用JSF生成的带有冒号":"的HTML元素ID?

我一直在使用JSF处理一个简单的Java EE项目.

<h:form id="phoneForm">
    <h:dataTable id="phoneTable">

    </h:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)

我试图通过设置CSS #phoneTable { ... },但它不起作用.在客户端检查HTML源代码时,JSF生成的HTML表格似乎以形式获取客户端ID id="phoneForm:phoneTable".我无法应用CSS via #phoneForm:phoneTable { ... },因为冒号表示伪选择器的开始并导致错误.

我怎么能在CSS选择器中使用它呢?

css jsf facelets css-selectors clientid

45
推荐指数
1
解决办法
2万
查看次数

绑定属性导致在视图中找到重复的组件ID

这是JSF代码:

<h:inputText binding="#{bean.input}" />
Run Code Online (Sandbox Code Playgroud)

这里是支持bean的一部分用于绑定支持:

private HtmlInputText input;

public void setInput(HtmlInputText input) {
    this.input = input;
}

public HtmlInputText getInput() {
    return this.input;
}
Run Code Online (Sandbox Code Playgroud)

当我第一次打开页面时一切正常但是当我第二次打开它时(刷新或在另一个选项卡中打开相同的URL或任何其他方式)我得到重复的ID错误.错误消息表明<h:inputText>没有唯一ID.以下是长错误消息的一部分:

java.lang.IllegalArgumentException: Component ID formId:inputId has already been found in the view
    +id: inputId type: javax.faces.component.html.HtmlInputText@cafebabe
Run Code Online (Sandbox Code Playgroud)

添加binding属性后出现问题.如果我删除它,一切都会再次正常工作.我如何正确使用binding属性?

jsf binding components duplicates

13
推荐指数
1
解决办法
2万
查看次数

默认情况下,JSF生成不可用的ID,这与Web标准的CSS部分不兼容

有活跃的JSF(或Primefaces)用户可以解释为什么默认情况下会发生这样的原因:为什么没有人对此做任何事情:

<p:commandLink id="baz" update=":foo:boop" value="Example" />
Run Code Online (Sandbox Code Playgroud)

哪个生成的标记在没有hacks的情况下无法在JavaScript或CSS中使用,通常应被视为无效:

<a href="javascript:void(0);" id=":foo:bar:baz">Example</a>
Run Code Online (Sandbox Code Playgroud)

id=":bar:baz:foo"此处的属性包含冒号,这些冒号不是此属性的有效字符,至少从CSS角度来看.

虽然该属性可能根据规范有效,但它无法与真实的JavaScript和CSS实现一起使用.

简而言之,idJSF中的默认属性生成无法用于前端开发.

html java jsf web-standards

10
推荐指数
1
解决办法
5235
查看次数