Если я не ошибаюсь, в Struts 1.3 эти три выражения эквивалентны:
<bean:write name="form" property="foo" />
<c:out value="${form.foo}" />
${form.foo}
Есть ли различия ? Единственное, что я нашел, это то, что <c:out>
экранирует вывод XML, а ${}
не . Понятия не имею о <bean:write>
, здесь здесь говорится , что он ищет свойство form
в контексте страницы, затем в запросе, затем в сеансе ... но я думаю, <c:out>
и ${}
сделай это тоже.
Теперь ... что будет делать это выражение?
<bean:write name="${form}" property"foo" />
Я предполагаю, что сначала вычисляется часть ${form}
, затем он находит, какой объект был назван в переменной form
, и восстанавливает его свойство foo
. Если это действительно то, что он делает ... могу ли я преобразовать его в EL ? Как то так, но реально работает:
${${form}.foo}