Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > JavaScript & wicket


Автор: CBEPX4EJIOBEK 31.7.2008, 13:13
не получается подключить javascript в викете... 
add(HeaderContributor.forJavaScript(this.getClass(), <путь к *.js>));
add(new Image(....)
     .add(new AttributeModifier("onclick",.....)) // как правильно передать параметры в функцию описанную в джаваскрипте...
);
и куда нужно помещать *.js

Автор: CallMeSet 1.8.2008, 13:01
Незнаю, что такое "HeaderContributor" ибо не нашёл его в своей версии wicket, но я делал так:

Код

add(new JavaScriptReference("common_js", SomeCLassReferer.class, "js/common.js"));


"common_js" - wicket:id в HTML файле, куда нужно вставить конструкцию подключенния js-файла (применимо к <script wicket:id="common_js"></script> !!!!Не забудь закрыть тэг </script> иначе приколишься как прикололся я однажды...!!!!)
SomeCLassReferer.class - класс, относительно которого будет происходить поиск твоего js-файла
"js/common.js" - непосредственно путь к файлу...

Допустим твой js-файл находится по такому пути:

classes/web/js/common.js, в этом случае класс SomeCLassReferer.class находится в каталоге classes/web/SomeCLassReferer.class...

А что касатеся правильной передачи параметров, то вопрос в том что конкретно ты делаешь в функции, так как я когда переписывал свою ситему под wicket переписал большинство функций с передачей всего одного параметра "url", куда подставлял ссылку генерируемую фреймворком...

В иных случаях советую пользоваться динамической подстановкой параметров взятых из ява например:

Код

function bugaga(){
  var  parameter = ${bad_style};
}


Тут вместо ${bad_style} на яве можно подставить что угодно, но для этого нужно сделать ещё не одно телодвижение и код в данном случае будет не шибко красивый...
Если напишешь что конкретно твоя функция должна делать думаю смогу помочь советом...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)