jsf - Primefaces 10:删除文本区域中的换行符
问题描述
在将项目迁移到 Primefaces 10 期间,我遇到了 textareas (p:inputTextarea) 的问题 - 在保存之前删除了换行符,并且文本显示在一行上。
我的文本区域没有什么特别之处:
<p:inputTextarea id="offercommentTextareaId"
styleClass="m-0 w-100" rows="10" autoResize="true"
counter="offerdataCounterTextId"
counterTemplate="#{components['org.primefaces.component.inputTextarea.counterTemplate']}"
maxlength="4000"
value="#{supplierOffer.offercomment}"
readonly="false"
disabled="false">
</p:inputTextarea>
我找不到这个问题的任何解决方案。
多谢提前
更新1:
- 我也尝试过使用 h:inputTextarea 并且得到了相同的结果 - 在验证之前/期间和提交之前删除了换行符;
- 还带有 CSS 属性“white-space: pre;” - 相同的结果;
- 我删除了所有 CSS 文件 - 没有主题,并且我的 CSS 文件被注释了 - 结果相同;
- 使用 ICEfaces 4 正在工作。
我在 IBM Liberty 21.0.0.6 上将 Primefaces 10.0.3 与 MyFaces 2.3 一起使用
因为它与 ICEfaces 4 一起使用,所以我认为 Primefaces 和/或 JQuery 中存在错误。
更新 2: 在深入研究问题后,我终于找到了问题的根源。问题是通过在 h:form 中使用 'enctype="multipart/form-data"' 给出的。换行符用作将“部分”从文本区域中取出的分隔符。没有这个属性,一切都很好。另一方面,上传文件需要此属性。这个答案像我一样更好地解释了它:How to have a working Textarea and a fileUpload in one form
我仍然不明白为什么它与 ICEfaces 4(确切地说是 4.3 版)一起工作。现在我必须把它分成两种形式。
解决方案
推荐阅读
- extjs - 如何从 Web 浏览器 CORS 策略阻止的 Ajax 请求 (POST) 中的 Web 服务中检索数据
- go - 无法评估字段
在类型字符串中 - arrays - 我可以从保存在 UserDefaults 中的数据中填充数组吗?
- php - PHP将数组排序为两列
- reactjs - 如何在 react/redux 应用程序中向 axios.create 添加标头
- python-3.x - Beautifulsoup 过滤“find_all”结果,通过正则表达式限制为 .jpeg 文件
- node.js - 节点“进度”模块,出现错误
- ab-initio - 如果我们想从特定阶段运行图形,.rec 文件的使用情况
- ruby-on-rails - Sweetalert 没有出现在 Rails 中
- javascript - 如何将小数点后面的位数限制为 2?