我想在登录表单中添加一些iOS特定的标记属性.如果我查看我的网页源代码,那么属性autocorrect,autocapitalize和spellcheck就不存在了.这是什么原因?我正在使用JSF 2.x.
<h:inputText id="user-name" forceId="true" value="#{login.username}" style="width:120px;"
autocorrect="off" autocapitalize="off" spellcheck="false" />
Run Code Online (Sandbox Code Playgroud) 我与一个JSF团队合作进行前端开发.我们正在输出一个INPUT字段,我需要在渲染的标签中包含placeholder一些data-属性.然而,JSF正在剥离它们.我不知道JSF对JSF团队有多大帮助,但我想我至少可以问一下.
我们使用的是旧版本的JSF,但升级到2.0,因为它似乎支持HTML5.那不是这样吗?有没有一种已知的解决方法?
我在一个不同的问题中询问了传递属性,发现我可以为<p:autocomplete>组件创建一个自定义渲染器,但问题是我的自定义渲染器将用于我项目中的每个p:autocomplete(站点范围).因此,我选择创建一个自定义组件,该组件扩展org.primefaces.component.autocomplete.AutoComplete并向文本框添加必要的属性.
我最初的想法是添加一个构造函数,但它似乎不起作用,因为此时属性map为null:
@FacesComponent("com.mycomponents.SiteSearch")
public class SiteSearch extends AutoComplete {
public SiteSearch() {
Map<String,Object> attrs = getAttributes();
attrs.put("x-webkit-speech", null);
attrs.put("x-webkit-grammer", "builtin:search");
attrs.put("onwebkitspeechchange", "this.form.submit();");
attrs.put("placeholder", "Enter a Search Term");
}
}
Run Code Online (Sandbox Code Playgroud)
我的另一个想法是将此自定义组件留空(空类),然后指定一个自定义渲染器,用于扩展org.primefaces.component.autocomplete.AutoCompleteRenderer和修改那里的属性.
毕竟说完了之后,我只需要一种方法将这些属性与这一个文本框分开,这样只需在p:autoComplete上放一个自定义渲染器就行不通了(除非我可以使用renderType =属性这个)电话号码:自动完成?).
我正在使用PrimeFaces 3.4和PrimeFaces Mobile 0.9.3.我在inputText属性中指定了maxlength,但它没有在HTML中呈现.我的代码:
<p:inputText id="price" value="#{bean.price}" styleClass="r-align"
type="number" maxlength="9" validator="priceValidator"/>
Run Code Online (Sandbox Code Playgroud)
后来我发现当我从标签中删除"type"属性时,max length有效.有谁知道为什么会这样?