如何解决CKEDITOR和ADF,如何通过EventHandler javascript调用java方法?
我使用 ckeditor 并且我希望它的值在我离开 textarea(模糊事件)时自动更新我的实体的字段。
这是我使用 ckeditor 的 jsff 文件:
<ckeditor:editor basePath="/faces/javascript/ckeditor/" editor="editor1"
events="${ckeConfigurationHelper.eventHandlers}"
value="${myEntityBean.getFieldValue}"
config="${ckeConfigurationHelper.config}" xmlns="http://www.w3.org/1999/xhtml">
<af:serverListener method="#{myEntityBean.updateField}" type="updateField"/>
我的 ckeConfigurationHelper.java eventHandlers 方法如下:
public static EventHandler createEventHandlers() {
EventHandler handler = new EventHandler();
handler.addEventHandler("blur","function( e ) {\n" +
" var text = CKEDITOR.instances['editor1'].getData();\n" +
" alert('Text: ' + text);\n" +
" var component = e.data;\n" +
" AdfCustomEvent.queue(component,\"updateField\",\n" +
" {\n" +
" text : text\n" +
" },\n" +
" true);" + "}");
return handler;
}
textarea 的值在警报中正确显示,但 AdfCustomEvent 不起作用,可能是因为该组件不是 actionEvent。
然后是我的java类中应该调用的updateField方法:
public void updateField(ClientEvent event) {
String text = (String)event.getParameters().get("text");
if (some condition...) {
setMyField(text);
} else if (some other condition...) {
setotherField(text);
} else {
setSomethingElseField(text);
}
}
我的项目基于 ADF。到目前为止我用过
感谢您的帮助,
博蒂
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。