gpt4 book ai didi

java - 处理 primefaces 文本区域提交值中的换行符

转载 作者:行者123 更新时间:2023-12-02 00:37:05 26 4
gpt4 key购买 nike

我有一个 primefaces 文本区域。用户只需在其中输入多行并提交表单即可。在我的支持 bean 中,值在换行符处分割。每行都经过验证。有效行将从字符串中删除,无效行将保留,然后再次发送给用户。

分割代码:

StringTokenizer tokens=new StringTokenizer(value,"\n\r");

用无效行重新填充值:

valueStrBldr.append(invalidLine).append("\n\r");

问题是,当值重新加载到文本区域时,它有很多不需要的换行符和空行。它是否必须对依赖于平台的换行符执行某些操作?

当我删除\r 时,问题解决了,但是值没有正确分割 - 我的意思是为什么不一致?

最佳答案

我建议使用BufferedReader#readLine()而是读取换行符上的行。这涵盖了所有可能的平台特定换行符,例如 \r\n\r\n,您无需担心(请注意\n\r 不是有效的换行序列)。

BufferedReader reader = new BufferedReader(new StringReader(value));
String line = null;

while ((line = reader.readLine()) != null) {
// ...
}

写行时,我建议使用\r\n。它应该在所有客户端(网络浏览器)中都能正常工作。

valueStrBldr.append(invalidLine).append("\r\n");

关于java - 处理 primefaces 文本区域提交值中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com