2010-06-28 1 views
3


Когда форма передана сервлету, это пустые поля "" или null? Так, например, в форме, в которой у вас есть имя, как поле и фамилию как поле
Дина - Имя
- Фамилия
Так что он зарегистрирован как в сервлет?
Заранее спасибо
ДинПустые поля в форме JSP null или ""?

ответ

4

Прост: Если имя параметра присутствует, но значение нет, тогда оно пустое. Если имя параметра отсутствует, то оно равно null. Обычно вы указываете поля имени, поэтому оно присутствует как параметр запроса, а пустые поля будут просто пустыми.

+0

Спасибо, я был немного не уверен в комментарии к обозревателю – Dean

0

Я думаю, что до браузера, но в большинстве случаев это будет нулевым . Вы должны по-прежнему разрешать оба случая.

Edit:

Как было отмечено в комментариях, в большинстве случаев это будет пустая строка.

+0

Это, безусловно, не до браузера. – BalusC

+0

@BalusC: Я прошу отличить. Буфер должен отправлять или не отправлять пустые текстовые поля, а значение будет равно null, если поле не отправлено, а пустая строка - в противном случае. http://www.w3.org/TR/html4/interact/forms.html#h-17.13.2 «Если элемент управления не имеет текущего значения при отправке формы, пользовательские агенты не обязаны его обрабатывать как успешный контроль ». –

+0

Я делал webdev в течение десятилетия, и я еще не видел браузер, который опускает имя параметра, когда значение параметра пуст, поэтому это, конечно, не «в большинстве случаев оно будет равно нулю». – BalusC

1

Это также зависит от сервера. JBoss предоставит вам пустые строки, но WebSphere предоставит вам значение null. Это настоящая PITA. Я уверен, что есть какой-то стандарт, который говорит так или иначе (мои деньги были бы на JBoss правильной реализации), но вы должны кодировать обе возможности.

+3

Это ** ошибка ** в Websphere. Просто установите последний пакет исправлений. Это описано в [APAR PK10162] (http://www-01.ibm.com/support/docview.wss?uid=swg1PK10162). – BalusC

Смежные вопросы