У меня есть форма, которая принимает список значений, каждое из которых указано в отдельной строке textArea. В моем сервлете я токенизирую строку, которую получаю из этого textArea, на основе символов новой строки "\r\n", например:
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» правильно переводиться в их браузере? Что насчет линукса? Я бы подумал, что все будет обрабатываться в браузере, но я просто не уверен здесь... поэтому мой вопрос: это выглядит правильно для вас или я что-то пропустил?