|
|
|
Vaadin: Проблема с @EJB иньекцией в класс который не UI
|
|||
|---|---|---|---|
|
#18+
привет всем. проблема с иньекцией таблицы в класс, который за "пределами" UI. ту же самую таблицу можно без проблем инжектировать показанным в коде способом в UI-класс. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Но если делать то же самое в другом классе который в данном случае extends VerticalLayout implements View то Entity "docu" не инициализируется = null. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. пробовал разные аннотации. одна из них @CDIView как в приведенном коде можно "достичь" того же результата в UI-классе если например закомментировать аннотацию @CDIUI(""). Код максимально упрощен. класс который не UI я использую как одну из "страниц" в навигационной панели. хотел вставить туда пару таблиц. из за данного эффекта не получается. В чем ошибка, как инжектировать правильно в класс который не UI? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 13:23 |
|
||
|
Vaadin: Проблема с @EJB иньекцией в класс который не UI
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. У чувака все работает, это кусок его кода с форума ваадина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 14:55 |
|
||
|
Vaadin: Проблема с @EJB иньекцией в класс который не UI
|
|||
|---|---|---|---|
|
#18+
ну да, перебирая все аннотации я и нашел этот кусок с @CDIView(“dashboard”). И попробовал доделать как там написано,все равно без ожидаемого результата. надо как то сгенерить правильно CDIViewProvider класс. до мой приведенный выше view-класс работал как страничка в навигаторе UI-классе. Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 15:06 |
|
||
|
Vaadin: Проблема с @EJB иньекцией в класс который не UI
|
|||
|---|---|---|---|
|
#18+
докопал таки как работает это все. надо инжектить в UI CDIViewProvider. который например можно взять здесь https://github.com/vaadin/cdi/blob/master/vaadin-cdi/src/main/java/com/vaadin/cdi/CDIViewProvider.java Код: java 1. 2. потом добавить соотв класс в навигатор UI: navigator.addView("dashboard", ConditionModel.class); и добавить в меню: menuItems.put("dashboard", "Conditions Model"); а в View-классе (ConditionModel.class) который я приводил выше сделать аннотацию: Код: java 1. и добавить метод с аннотацией @PostConstruct где инициализировать все инжектированные Entity: пишут что метод должен быть protected но оно так не работает. Код: java 1. 2. 3. 4. 5. 6. 7. 8. все выше приведенное полезно если в Vaadin делать мгогостраничный dashboard , и в каждую страницу (class) добавлять необходимые Entity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 19:02 |
|
||
|
Vaadin: Проблема с @EJB иньекцией в класс который не UI
|
|||
|---|---|---|---|
|
#18+
забыл.. сам провайдер конечно надо тоже добавить в навигатор в UI классе: Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 19:04 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=93&tid=2123909]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 308ms |

| 0 / 0 |
