Могу ли я преобразовать <bean: write> в EL в Struts? - PullRequest
0 голосов
/ 30 апреля 2018

Если я не ошибаюсь, в 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}

1 Ответ

0 голосов
/ 30 апреля 2018

Самостоятельно отвечая на последний вопрос:

Согласно , и , , я считаю, что я мог бы использовать <bean:define> следующим образом:

<bean:define id="blarg" name="${form}" property="foo" />

И тогда это станет доступным:

${blarg}

Я все еще не проверял это все же.

...