В чем разница между двумя синтаксисами EL? - PullRequest
2 голосов
/ 06 февраля 2011

Я хочу сделать поля формы стабильными в формах JSP, поэтому я использую:

${param.fieldName}

Я пытался сделать так:

${param["fieldame"]}

и тоже работает!

Может кто-нибудь сказать мне, в чем разница?

Ответы [ 2 ]

3 голосов
/ 06 февраля 2011

С Язык выражений Спецификация Версия 2.2 Служебная версия :

1.6 Операторы [] и .

expr-a.identifier-b эквивалентно expr-a["identifier-b"]; это идентификатор идентификатор-б используется для построить литерал, значение которого является идентификатор, а затем оператор [] используется с этим значением.

2 голосов
/ 06 февраля 2011

В param["fieldName"] вы можете иметь любую (действительную) строку между кавычками.В param.fieldName этого не может быть, поскольку он может содержать только символы, действительные для идентификатора.

В обоих случаях он сопоставляется с поиском.Какой тип поиска зависит от того, к какому типу относится «param».

...