Jsf 2 在JSF2 h:inputText组件中使用引导相关标记
JSF2组件中是否有使用引导相关标记的方法?例如,我对使用bootstrap typeahead特性感兴趣,它需要Jsf 2 在JSF2 h:inputText组件中使用引导相关标记,jsf-2,twitter-bootstrap,Jsf 2,Twitter Bootstrap,JSF2组件中是否有使用引导相关标记的方法?例如,我对使用bootstrap typeahead特性感兴趣,它需要 <h:inputText id="typeahead" type="text" data-provide="typeahead"></h:inputText> 但是由于h:inputText不存在提供的数据,它被剥离了,因此typeahead特性显然不起作用 取决于您使用的JSF版本 在JSF2.0/2.1中,不可能指定其他属性。JSFHTML呈现器将只呈
<h:inputText id="typeahead" type="text" data-provide="typeahead"></h:inputText>
但是由于h:inputText不存在提供的数据,它被剥离了,因此typeahead特性显然不起作用 取决于您使用的JSF版本 在JSF2.0/2.1中,不可能指定其他属性。JSFHTML呈现器将只呈现预定义的属性。您需要创建一个自定义渲染器来实现所需的任务。为了最小化样板代码,您必须扩展特定于实现的呈现程序。目前还不清楚您使用的是哪一种,因此这里只是一个针对Mojarra的示例:
import com.sun.faces.renderkit.html_basic.TextRenderer;
public class MyTextRenderer extends TextRenderer {
@Override
protected void getEndTextToRender(FacesContext context, UIComponent component, String currentValue) throws IOException {
Object dataProvide = component.getAttributes().get("data-provide");
if (dataProvide != null) {
context.getResponseWriter().writeAttribute("data-provide", dataProvide, null);
}
super.getEndTextToRender(context, component, currentValue);
}
}
按如下方式在faces-config.xml中注册以使其运行:
<render-kit>
<renderer>
<component-family>javax.faces.Input</component-family>
<renderer-type>javax.faces.Text</renderer-type>
<renderer-class>com.example.MyTextRenderer</renderer-class>
</renderer>
</render-kit>
请注意,“类型”属性默认为“文本”
或:
另见:
取决于您使用的JSF版本 在JSF2.0/2.1中,不可能指定其他属性。JSFHTML呈现器将只呈现预定义的属性。您需要创建一个自定义渲染器来实现所需的任务。为了最小化样板代码,您必须扩展特定于实现的呈现程序。目前还不清楚您使用的是哪一种,因此这里只是一个针对Mojarra的示例:
import com.sun.faces.renderkit.html_basic.TextRenderer;
public class MyTextRenderer extends TextRenderer {
@Override
protected void getEndTextToRender(FacesContext context, UIComponent component, String currentValue) throws IOException {
Object dataProvide = component.getAttributes().get("data-provide");
if (dataProvide != null) {
context.getResponseWriter().writeAttribute("data-provide", dataProvide, null);
}
super.getEndTextToRender(context, component, currentValue);
}
}
按如下方式在faces-config.xml中注册以使其运行:
<render-kit>
<renderer>
<component-family>javax.faces.Input</component-family>
<renderer-type>javax.faces.Text</renderer-type>
<renderer-class>com.example.MyTextRenderer</renderer-class>
</renderer>
</render-kit>
请注意,“类型”属性默认为“文本”
或:
另见:
我正在使用mojarra 2.2.4,但它没有。是我的mojarra库的问题还是需要更多配置。谢谢。我正在使用mojarra 2.2.4,但它没有。是我的mojarra库的问题还是需要更多配置。谢谢