Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Zkoss NullPointerException / 17 сообщений из 17, страница 1 из 1
04.03.2014, 18:09
    #38578149
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Всем привет. Есть такая страничка home.zul:
Код: java
1.
2.
3.
4.
5.
6.
<?page id="home"?>
<zk>
<window id="winHomeId" vflex="1" hflex="1">
        <include id="includeComponent"/>
</window>
</zk>


Почему когда я пишу:
Код: java
1.
2.
Include inc= (Include)Path.getComponent("//home/winHomeId/includeComponent");
inc.setSrc("login.zul");


у меня выскакивает nullPointerException на inc.setSrc("login.zul"), т.е. я не могу понять почему у меня inc=null
Все делала по инструкции с официального сайта, но увы.... Помогите пожалуйста.
Спасибо.
...
Рейтинг: 0 / 0
04.03.2014, 19:30
    #38578236
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
public static final Component getComponent(java.lang.String path)

Returns the component of the specified path, or null if no such component.
...
Рейтинг: 0 / 0
04.03.2014, 19:53
    #38578250
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
maytonpublic static final Component getComponent(java.lang.String path)

Returns the component of the specified path, or null if no such component.
но ведь я же создаю его здесь:
Код: java
1.
2.
3.
4.
5.
6.
<?page id="home"?>
<zk>
<window id="winHomeId" vflex="1" hflex="1">
        <include id="includeComponent"/>
</window>
</zk>
...
Рейтинг: 0 / 0
04.03.2014, 20:00
    #38578256
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Если это язык XPath тогда у тебя ошибка в запросе.

Если не XPath тогда надо читать доки по этому Z-koss-у.
...
Рейтинг: 0 / 0
05.03.2014, 14:37
    #38579039
vimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
JulTно ведь я же создаю его здесь:

Не факт что создаете, то что путь соответсвует XML это верно, но не факт что XML отрендерился. Вообще слишком мало кода приведено, чтобы диагностировать ошибку. Как вариант можно предположить, что include не рендерится, потому что не указан атрибут src, врода как во всех примерах на их сайте, этот атрибут указывается.
...
Рейтинг: 0 / 0
05.03.2014, 15:51
    #38579154
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Код: xml
1.
2.
3.
4.
5.
<home>
  <winHomeId>
     <includeComponent>SomeValue</includeComponent>
  </winHomeId>
</home>
...
Рейтинг: 0 / 0
05.03.2014, 18:07
    #38579367
DDiver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Может это вам поможет
component path/page-id in nested includes
...
Рейтинг: 0 / 0
06.03.2014, 15:04
    #38580272
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
JulT

1)ссылку на "по инструкции с официального сайта"
2) покажите, что именно inc == null (обычно выкладывают код сообщения об ошибке)
3) отучайтесь от коллективного дебага учебных примеров
...
Рейтинг: 0 / 0
06.03.2014, 15:11
    #38580291
Пылинка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Я как бы намекаю вам (про закос 10 мин назад знал только название) что include - это тоже Id Space, и что я сомневаюсь, что так можно производить изм-я типа setDynamicProperty не задав никакого src.
...
Рейтинг: 0 / 0
07.03.2014, 15:56
    #38581290
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Страница sidebar.zul:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?page id="sideBarID"?>
<zk>
<window hflex="1" vflex="1" apply="controller.SwitchWinController" id="vb">
<grid sclass="sidebar">
	<columns>
		<column width="60px"/>
		<column/>
	</columns>
	<rows>
		<row>
			<image src="/img/next_match_s.png"/><label id="zkPlayer"  value="Заявки" style="color:#3f5d81;font-size:13px;font-weight:bold;text-decoration: underline;cursor: pointer"/>
		</row>
		<row>
			<image src="/img/user_prof_def_small.png"/><label id="listPlayer" value="Список игроков" style="color:#3f5d81;font-size:13px;font-weight:bold;text-decoration: underline;cursor: pointer"/>
		</row>
		<row>
			<image src="/img/but.png"/><label id="statLabel" value="Статистика" style="color:#3f5d81;font-size:13px;font-weight:bold;text-decoration: underline;cursor: pointer"/>
		</row>
	</rows>
</grid>
</window>
</zk>


Контроллер для нее:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
public class SwitchWinController extends SelectorComposer<Component> {
    @Wire
    Label zkPlayer;
    @Wire
    Label listPlayer;
    
@Listen("onClick=#zkPlayer;")
    public void doZkPlayer(){
            Include inc= (Include)Path.getComponent("//homeID/WinHomeId/includeCompInHomePage");
            inc.setSrc("start.zul");
    }
}


В методе doZkPlayer() пытаюсь связаться с страничкой home.zul:
Код: java
1.
2.
3.
4.
5.
<?page id="homeID"?>
<window id="WinHomeId" vflex="1" hflex="1">
        <include mode="defer" id="includeCompInHomePage"/>
</window>
</zk>


и установить в компонент <include mode="defer" id="includeCompInHomePage"/> значение inc.setSrc("start.zul");
Получаю следующее исключение на строчке inc.setSrc("start.zul");:
Код: java
1.
2.
3.
4.
5.
6.
7.
java.lang.NullPointerException
	at controller.SwitchWinController.doZb(SwitchWinController.java:36)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.zkoss.zk.ui.select.Selectors$ComposerEventListener.onEvent(Selectors.java:681)


Ссылка на инструкцию:
http://books.zkoss.org/wiki/ZK_Developer's_Reference/UI_Composing/ID_Space
Не работает даже если указываю src в <include...
...
Рейтинг: 0 / 0
07.03.2014, 16:33
    #38581353
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
маленькая опечатка в названии метода, вместо:
Код: java
1.
2.
java.lang.NullPointerException
	at controller.SwitchWinController.doZb(SwitchWinController.java:36)


это:
Код: java
1.
2.
java.lang.NullPointerException
	at controller.SwitchWinController.doZkPlayer(SwitchWinController.java:36)


Хэлп!!!
...
Рейтинг: 0 / 0
07.03.2014, 16:47
    #38581379
Озверин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
JulT,

тега жы нет открывающего...но не понимает, что это ващпе такое?

Код: xml
1.
2.
3.
4.
5.
6.
<?page id="homeID"?>
<zk>
<window id="WinHomeId" vflex="1" hflex="1">
        <include mode="defer" id="includeCompInHomePage"/>
</window>
</zk>
...
Рейтинг: 0 / 0
07.03.2014, 16:52
    #38581386
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Озверин,
есть, простите - это опечатка, если бы его не было он бы даже не скомпилировался
...
Рейтинг: 0 / 0
07.03.2014, 18:27
    #38581482
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Пылинка, можно
вот пример:
http://zkfiddle.org/sample/379s7ev/3-A-sample-for-using-Event-queue-to-talk-with-other-include#source-1
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?page title="Include talk by event queue sample" ?>
<zk>


	<vlayout>
		<groupbox >
			<caption label="Include.zul" />
			<include src="include.zul" />
		</groupbox>
		
		<groupbox >
			<caption label="Include2.zul" />
			<include src="include2.zul" />
		</groupbox>
	</vlayout>

</zk>
...
Рейтинг: 0 / 0
08.03.2014, 00:11
    #38581650
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
Разобралась. Оказывается пусть нужно было строить от самого корня, т.е. от index.zul:
Код: java
1.
2.
3.
4.
<?page id="indexId"?>
<zk>
	<include id="mainInclude" self="@define(content)" src="home.zul"/>
</zk>


т.е. Path.getComponent("//indexId/mainInclude/winHomeId/includeComponent");
А я строила путь относительно home.zul:
Код: java
1.
2.
3.
4.
5.
6.
<?page id="home"?>
<zk>
<window id="winHomeId" vflex="1" hflex="1">
        <include id="includeComponent"/>
</window>
</zk>


т.е. Path.getComponent("//home/winHomeId/includeComponent");
И все-равно странно как-то...
...
Рейтинг: 0 / 0
08.03.2014, 00:20
    #38581655
vimba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
JulT,

хорошо что разобрались, советую на будущее, вопросы по ZK задавать на javatalks.ru, у них админка написана на ZK, ну и вообще отираются несколько маргиналов использующих/использоваших этот фрейморк в повседневной практике.
...
Рейтинг: 0 / 0
08.03.2014, 02:05
    #38581686
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Zkoss NullPointerException
vimbaJulT,


хорошо что разобрались, советую на будущее, вопросы по ZK задавать на javatalks.ru, у них админка написана на ZK, ну и вообще отираются несколько маргиналов использующих/использоваших этот фрейморк в повседневной практике.
Огромное спасибо:)) Очень полезная информация:))
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Zkoss NullPointerException / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]