我想将 JavaScript 框架(名为 Ideal Forms)与 JSF 一起使用。这个框架使用了一些data-ideal
JSF 不知道的特殊属性(例如“”)。这些属性被 JSF 的呈现过程移除。
基于BalusC的代码片段(来自 stackoverflow),我试图将这些属性欺骗到 JSF 组件中:
public class PreRenderViewListener implements SystemEventListener {
@Override
public void processEvent(SystemEvent event) throws AbortProcessingException {
UIViewRoot root = (UIViewRoot) event.getSource();
UIComponent comp = root.findComponent("myForm:myField");
comp.getAttributes().put("style", "width: 100px;");
comp.getAttributes().put("data-ideal", "some_content");
}
...
xhtml代码是
<h:form id="myForm">
<h:inputText id="myField" ... />
</h:form>
结果是
<form id="myForm" name="myForm" ... >
<input id="myForm:myField" type="text" name="myForm:myField" style="width: 100px;" />
</form>
如您所见,第一个属性style
(h:inputText 已知)被呈现给客户端,第二个属性data-ideal
(JSF 根本不知道)不是。有什么建议可以在无需编写自定义组件的情况下支持 jsf-foreign 属性吗?非常感谢。