layui JSP页面富文本框
<tr> <th>合同正文</th> <td colspan="3"><%--placeholder="内容最多2000字" maxlength="2000"--%> <%--<textarea class="layui-textarea" id="LAY_demo1" name="content" style="display: none;">${object.content}</textarea>--%> <textarea id="content" name="content" style="display: none;" autocomplete='off'> ${object.content} </textarea> </td> </tr>
js引入组件
var indexEdit=layedit.build('content',{
height: '100%', //设置编辑器高度
tool: [
'strong' //加粗
,'italic' //斜体
,'underline' //下划线
,'del' //删除线
,'|' //分割线
,'left' //左对齐
,'center' //居中对齐
,'right' //右对齐
,'link' //超链接
,'unlink' //清除链接
//,'image' //插入图片
]
}); //建立编辑器
ajax提交表单获取富文本内容
//监听提交
form.on('submit(formSubmit)', function(data){
var loading = curlayer.load(2, {offset: ['40%', '50%'], shade: [0.1, '#3595CC'], area: ['10%', '10%']});
var recId='0';
var str = layedit.getContent(indexEdit);
data.field.content = str;
if(data.field.recId!=''){
recId=data.field.recId;
}
//0审批完成 1驳回待处理 2待审批 3暂存
data.field.states='2';
$.ajax({
type: "PUT",
url: basePath+'/service/contractManage/contractinfo/'+recId,
data: data.field,
/*async:false,*/
dataType: "json",
success: function(data){
if(data.data.code=='200'){
layer.msg("操作成功", {icon: 1});
parent.location.reload();
}else if(data.data.code=='0'){
curlayer.close(loading);
layer.msg(data.data.msg, {icon: 0});
} else {
curlayer.close(loading);
layer.msg("操作失败", {icon: 0});
}
}
});
});
jsp页面查看富文本转义处理
if ("view".equals(type)) { if (StringUtils.isNotBlank(contractInfo.getContent())) { contractInfo.setContent(StringEscapeUtils.unescapeXml(contractInfo.getContent())); } forward = "forward:/modules/oa/contractManage/contractinfo/contractinfo-view.jsp"; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界