У меня есть проблема с получением значения от cookie, который содержит запятые. Это возвращает не полную строку, но строку, отключенную к первой запятой. Например:
// cookie value = var1,var2,var3
String cookieVal = cookie.getValue();
//cookieVal now is "var1" instead of "var1,var2,var3"
и
// cookie value = var1=var2=var3
String cookieVal = cookie.getValue();
//cookieVal now is "var1=var2=var3"
Что я делаю неправильно.
Взгляните на Документацию по куки. Здесь сказано :
Этот класс поддерживает обе версии 0. (Netscape) и версия 1 (RFC). 2109) спецификации cookie-файлов. По адресу по умолчанию, cookie-файлы создаются с использованием Версия 0 для обеспечения наилучшего совместимость.
И если вы увидите метод setValue, вы найдете это
В куки-файлах версии 0 значения не должны содержать пробелов, скобок, круглых скобок, равнозначных знаков, запятых, двойных кавычек, косых черт, вопросительных знаков, на знаках, двоеточиях и точках с запятой. Пустые значения могут вести себя не одинаково во всех браузерах.
EDIT: Просто прочитай про гугл. Может быть, попробуйте установить версию в 1 и посмотреть, как она работает.
Запятая является частью определения значения http-заголовка, поэтому запятые для кодирования URL в значении вашего файла cookie .
URLEncoder.encode(cookieValue);
Я обнаружил следующее:
«Эта строка [значение файла cookie] представляет собой последовательность символов, исключая точку с запятой , запятую и пробел. Если есть необходимость разместить такие данных в имени или значении рекомендуется использовать какой-либо метод кодирования, например стиль URL% XX , хотя кодировка не определена или не требуется »
В RFC говорится :
Неформально заголовок ответа Set-Cookie включает набор токенов - Cookie:, за которым следует список из одного или нескольких файлов cookie, разделенных запятыми. Каждый файл cookie начинается с NAME = Пара VALUE, за которой следует ноль или более пар атрибут-значение, разделенных точкой с запятой.
Обновление: После того, как вы пояснили, что анализируете файл cookie из Google: я просмотрел все мои файлы cookie __utmX, и ни один из них не содержит запятых. В качестве разделителя используется |
или закодированный по URL :
Как сделать заголовок элементом списка с различными стилями, такими как
<ul>
<li class="heading">heading</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
<li>list item</li>
</ul>
и CSS
ul .heading {font-weight: normal; list-style: none;}
дополнительно, используйте сброс CSS для установки полей и набивок прямо на ul и li. вот хороший CSS сброса. после сброса полей и набивок можно применить некоторое поле к элементам списка, отличным от элемента с классом заголовка, для их отступа.
-121--1041777-Я не думаю, что есть такая вещь, и я не думаю, что это была бы хорошая идея: обычно вам приходится обрабатывать не только установки, но и некоторые обновления (скажем: новая версия с функциями) или правильная инициализация некоторых ресурсов.
Для ресурсов лучший способ - проверить их напрямую.
Для этой версии я использую базу данных, это так просто.
-121--1105240-Действительно сохранить набор в файле cookie? Файлы cookie IMHO не должны использоваться для хранения данных отдельно от идентификаторов. Место хранения данных должно выполняться на стороне сервера, когда это возможно.