我有一个接受值列表的表单,每个值都列在单独的 textArea 行上。在我的 Servlet 中,我根据换行符“\r\n”对从该 textArea 收到的字符串进行标记,如下所示:
String[] partNumberList = originalPartNumberString.split("\r\n");
这似乎工作正常。我得到了预期的值数组。我相信这是因为浏览器处理标准化换行符发送到服务器的方式,无论表单数据是从哪个操作系统/浏览器发送的(请参阅这篇文章)。我已经在 IE、Firefox、Chrome 中进行了测试……一切似乎都可以正常工作,我对此非常有信心。
在服务器端接收到值后,我将这些值用于一些查找等,然后将它们写回 textArea 以进行响应。为了做到这一点,我以我收到它的相同方式写回它......我只是构建一个新字符串,并用“\r\n”分隔每个值。然后我将 textArea 的值设置为该字符串。
StringBuffer invalidReturnPartList = new StringBuffer("");
for (int i = 0; i < requestedPartList.length; i++)
{
invalidReturnPartList.append(requestedPartList[i]);
invalidReturnPartList.append("\r\n");
}
return invalidReturnPartList.toString();
在我尝试过的所有浏览器中,这对我来说也都可以测试。但是,我只是担心我是否在这里涵盖了所有基础......如果有人在运行 Mac,“\r\n”会在他们的浏览器上正确翻译吗?Linux 呢?我认为一切都将在浏览器中处理,但我只是不确定这里......所以我的问题是,这对你来说是正确的,还是我错过了什么?