2012-02-16 2 views
0

Я изучаю JSF/facelets. Скажем, у меня есть два ManagedBeans с одинаковым именем, но в разных пакетах. Когда бобы, используемые в xhtml, швы, JSF разрешит бэкбон в алфавитном порядке. Если в команде много парней, как избежать этого, вы не будете переопределять другие поддерживающие компоненты, поскольку они могут использовать одно и то же имя для своих компонентов. Есть ли какая-либо передовая практика в этой ситуации?Как обрабатывать несколько управляемых компонентов с одинаковым именем в JSF2.0

ответ

2

Почему бы не префикс имен управляемых bean-компонентов с именем пакета?

Пример:

package myPackage; 

@ManagedBean(name="myPackageMyClass") 
@ViewScoped 
public class MyClass { .. } 
+0

Мэтт, конечно, я могу. Поскольку я новичок в JSF, мне интересно, насколько это лучшая практика. На самом деле я попытался упаковать их в разделенные библиотеки (.jar) в качестве составных ресурсов компонентов, надеясь, что они разрешат классы в одной и той же библиотеке, но не повезло: управляемая игра разрешена первой, встречающейся в пути к классам, независимо от того, где бы он ни находился. –

1

Если классы фасоли имеют такое же имя класса, то это уже плохой дизайн с самого начала на. Спросите себя, почему у них одинаковое имя класса? Имеют ли они те же обязанности? Почему бы просто не сделать его одним классом? Или у них разные обязанности? Дайте классам другое имя.

+0

Предположим, что мы создаем большое корпоративное приложение, которое нуждается в сотнях страниц JSF. Эти страницы сервера используют разные цели (обязанности). Мы назначаем разработку веб-слоя для многих разных парней и просим их помещать свои бэкэнсы в свои собственные пакеты (например, Toms переходит на web.beans.tom, Allens отправляется на web.beans.allen). Но поскольку существует так много фасоли, есть вероятность, что некоторые бобы получают одно и то же имя, хотя у них разные обязанности, в разных пакетах. –

+0

Приятная IDE создаст предупреждения и время выполнения, в которые контейнер будет – Kukeltje

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