|
|
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
Приветствую! Вот так помнится всегда работало и компонент нормально находился: UIComponent cmp = FacesContext.getCurrentInstance().getViewRoot().findComponent("myComp"); Вдруг обнаружил, что в новом проекте такое не срабатывает. Пытаюсь найти компонент, вложенный в форму - обнаруживаю что сама форма не находится; Смотрю что firebug показывает, вроде всё нормально, искомая форма существует: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Проверяю, что есть в .getViewRoot().getChildren() - firstForm есть, secondForm -нет. Всяко пробовал - так и не добрался до второй формы. Вообще чего то ничего не понимаю - предыдущий проект по платформе был один в один - там работало. Может какой добрый человек натолкнёт на мысль - чего могло сломаться. Проект на seam-2.2.2, richfaces-3.3.3, jboss-5.1 - хотя вроде к проблеме не должно иметь отношение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 08:09:08 |
|
||
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
покажи исходный код jsf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 09:26:39 |
|
||
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
Весь? Для победы - запросто Вот сама форма. Нужно поймать "psrObjReestrForm" Код: html 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. А это темплэйт. Форма из него видна "mainMenuForm" Код: html 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. По ходу там ещё куча инклюдов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 13:20:42 |
|
||
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
Первая форма у вас прямой child от viewroot, а вторая обернута в div. Попробуйте преобразовать div в panelGroup, назначить ему айди, и поиск вести по groupid:formid http://docs.oracle.com/javaee/6/api/javax/faces/component/UIComponentBase.html#findComponent%28java.lang.String%29 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 15:04:08 |
|
||
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
Методом "взять измором" обнаружил необъяснимую для меня вестч. Ну во первых проверил другие формы - там примерно такое же построение. Всё работает. Начал разбирать неработающую - и на тебе! Если убрать кусок Код: html 1. 2. 3. 4. 5. 6. 7. 8. то всё работает замечательно. Пытался этот кусок в другие места пристроить - думал может какая то неприязнь с соседними компонентами организовалась - всё равно не работает. Убираю - работает. О как! Пошёл думать дальше. А может у кого мысли появились на эту конкретику? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 15:52:36 |
|
||
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
Если убрать айди у селектуанменю - тоже не работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 16:04:04 |
|
||
|
jsf findComponent - что могло сломаться?
|
|||
|---|---|---|---|
|
#18+
забыл никЕсли убрать айди у селектуанменю - тоже не работает? Да, не работает. Но похоже какая то ясность наступила. 1. Я ищу форму в момент инициализации - аннотация @Create на процедуре, в которой идёт поиск. В этот момент и проявляется сей фокус. Т.е. есть на форме selectOneMenu - форма не находится, нет - форма в списке компонентов. Загадка, но уже как то можно объяснить. 2. Ежели после инициализации (т.е. уже по ходу работы) проверить наличие формы, то всё нормально - вот она родимая. Вот такой нюанс на голову. Я то хотел сразу в момент начала работы найти форму и компонент и пользовать его по мере необходимости, а нет! Ну буду его и искать по мере необходимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 08:41:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37932831&tid=2131057]: |
0ms |
get settings: |
17ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
87ms |
get tp. blocked users: |
3ms |
| others: | 330ms |
| total: | 525ms |

| 0 / 0 |
