дубликат <param>s в страницах шва. xml - PullRequest
1 голос
/ 23 сентября 2011

Используя seam, в pages.xml я могу поймать значение параметра строки запроса и поместить его в компонент поддержки следующим образом:

  <page view-id="/my/page.xhtml" >
    <param name="myParam" value="#{myActionBackingBean.param}" />
    <action execute="#{myActionBackingBean.doAction()}" />
  </page>

Насколько я читал, это также извлечет значение из базового компонента и поместит его обратно в строку запроса через перенаправление (то есть определяет двустороннюю привязку).

В проекте, над которым я работаю, у нас есть несколько страниц с дублирующимися параметрами, например:

  <page view-id="/my/page.xhtml" >
    <param name="myParam" value="#{myActionBackingBean.param}" />
    <param name="myParam" value="#{myDifferentBackingBean.param}" />
    <action execute="#{myActionBackingBean.doAction()}" />
  </page>

Кажется, что это компилируется и работает нормально, но затмение начало сообщать об ошибке (после недавнего обновления, возможно, обновления плагина), что "Значение myParam не уникально" для имени второго параметра.

  • Являются ли дубликаты тегов параметров такими недопустимыми, как предлагает eclipse?
  • Какое наиболее вероятное поведение ожидать во втором случае?
  • Есть ли другой способ получить значение параметра строки запроса на два bean-компонента (можно ли это сделать с помощью <action>, например, для копирования с одного на другой с помощью EL)

У меня много шва и EL, поэтому я благодарен за любые хорошие источники, если эти вопросы кажутся наивными.

1 Ответ

0 голосов
/ 23 сентября 2011

Вероятно, лучший способ сделать это - создать еще один компонент, просто чтобы сохранить информацию и просто связать ее с ней.

Затем вы можете добавить ее в myActionBackingBean и myDifferentBackingBean.

В противном случаевы можете скопировать его из одного в другой во время метода @Create.

...