在使用Seam 2.2,jsf 1.2和Richfaces 3.3处理遗留应用程序时,我遇到了以下问题:
当项目处于草稿模式并因此可编辑时,我有一个漂亮的编辑器用于输入和格式化文本。在文本和项目通过一些管理员的批准后,它不再可编辑(参见last attribute - readonly):
<rich:editor id="a"
value="#{pReq.comment}"
configuration="editorconfig"
autoResize="true"
useSeamText="true"
theme="advanced"
plugins="fullscreen"
style="width: 100%;"
readonly="#{form.isEditable()}" >
现在显示同一页面时,我立即松开所有Richfaces编辑器的功能,只有一个丑陋的小文本字段。但是,我仍然需要一些功能,例如全屏切换。
任何人都有想法让readonly属性工作更少&#34;激进&#34;?
答案 0 :(得分:0)
设置'readonly = false'时,richfaces编辑器将始终恢复为简单的文本框。因此,在这种情况下,该属性是无用的。相反,我通过使用两个单独的configuration.properties文件来解决问题,以实现我的目标。
xhtml根据参数'configFile'加载相应的属性文件:
<rich:editor id="pLRiTa" value="#{pReq.comment}"
autoResize="true" useSeamText="false"
configuration="#{configFile}"
oninit="tinyMCE.activeEditor.getBody().setAttribute('contenteditable', #{isEditable});">
<f:param name="save_enablewhendirty" value="true" />
<f:param name="save_onsavecallback" value="savenow" />
启用编辑的配置属性文件是:
theme="advanced"
width="100%"
plugins="save,paste,fullscreen"
save_enablewhendirty="true"
save_onsavecallback="savenow"
theme_advanced_buttons1="bold,italic,underline,strikethrough,separator,cut,separator,forecolor,backcolor,separator,save,separator,fullscreen"
theme_advanced_buttons2="bullist,separator,outdent,indent,separator,undo,redo,separator,cleanup,help,code"
theme_advanced_buttons3="pastetext,pasteword,selectall,separator,removeformat,visualaid,separator,sub,sup,separator,charmap"
theme_advanced_toolbar_location="top"
theme_advanced_toolbar_align="left"
禁用编辑的配置属性文件是:
theme="advanced"
plugins="fullscreen"
theme_advanced_buttons1="fullscreen"
theme_advanced_buttons2=""
theme_advamced_buttons3=""
theme_advanced_toolbar_location="top"
theme_advanced_toolbar_align="left"
width="100%"
'savenow'的定义如下:
<a4j:jsFunction name="savenow" id="savenowid"
action="#{plEditModalController.saveWithoutClosing()}"
ignoreDupResponses="true" immediate="false" process="plEditAll"
oncomplete="console.log('saved')"/>