Атрибуты ZK AddThis в Java, а не в ZUL
Я хочу реализовать AddThis Toolbox
<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style">
<attribute ca:name="addthis:url">http://www.foobar.org </attribute>
<attribute ca:name="addthis:title">An excellent website</attribute>
<a class="addthis_button_facebook"></a>
<a class="addthis_button_twitter"></a>
<a class="addthis_button_email"></a>
</div>
Примерно так, вот мой код, я получаю только заголовок моей домашней страницы в поле Twitter. Это работает в целом, но атрибуты не интегрированы!
Div oDivAddThis = new Div();
oDivAddThis.setClass("addthis_toolbox addthis_default_style addthis_style");
oDivAddThis.setAttribute("ca:name='addthis:url'", "https://www.test.org");
oDivAddThis.setAttribute("ca:name='addthis:title'",oSearchDAO.getTitle()+" \n "+oSearchDAO.getDescription1()+" \n "+oSearchDAO.getDescription2());
oDivAddThis.setAttribute("addthis:url", "https://test.org.com/?cp="+oSearchDAO.getImage().trim());
oDivAddThis.setAttribute("addthis:title",oSearchDAO.getTitle()+" \n "+oSearchDAO.getDescription1()+" \n "+oSearchDAO.getDescription2());
A compGooglePlus = new A();
compGooglePlus.setClass("addthis_button_google_plusone_share");
compGooglePlus.setAttribute("addthis:url", "https://test.org.com/?cp="+oSearchDAO.getImage().trim());
compGooglePlus.setAttribute("addthis:title",oSearchDAO.getTitle()+" \n "+oSearchDAO.getDescription1()+" \n "+oSearchDAO.getDescription2());
A compFacebook = new A();
compFacebook.setClass("addthis_button_facebook");
A compTwitter = new A();
compTwitter.setClass("addthis_button_twitter");
compTwitter.setAttribute("addthis:url", "https://test.org.com/?cp="+oSearchDAO.getImage().trim());
compTwitter.setAttribute("addthis:title",oSearchDAO.getTitle()+" \n "+oSearchDAO.getDescription1()+" \n "+oSearchDAO.getDescription2());
A compCompact = new A();
compCompact.setClass("addthis_button_compact");
compGooglePlus.setParent(oDivAddThis);
compFacebook.setParent(oDivAddThis);
compTwitter.setParent(oDivAddThis);
compCompact.setParent(oDivAddThis);
Я даже пытался что-то вроде этого (пространство имен клиента / атрибута)
oDivAddThis.setAttribute("ca:name='addthis:url'", "https://test.org/?cp="+oSearchDAO.getImage().trim());
oDivAddThis.setAttribute("ca:name='addthis:title'",oSearchDAO.getTitle()+" \n "+oSearchDAO.getDescription1()+" \n "+oSearchDAO.getDescription2());
Любая помощь приветствуется, спасибо
ОБНОВЛЕНИЕ [решено]
с помощью Тони (автора http://zkfiddle.org/) я все заработал. Моя ошибка заключалась в том, что я использовал setAttibute, который явно оценивается на стороне сервера.
Все, что мне нужно было сделать, это использовать setWidgetAttibute, который будет оцениваться на стороне клиента, и ЭТО.:-) Удивительно. Спасибо тебе, Виктор, за публикацию твоих идей и особую благодарность Тони, который мне очень помог.
1 ответ
Вы имеете в виду, что ни один из атрибутов не установлен в этом компоненте? Если это так, вы можете попробовать тег на странице Zul, может быть, это может работать...
Обновление: это то, что я делаю, когда хочу разместить изображение URL, я сохраняю имя изображения в своем объекте и получаю к нему доступ следующим образом: (используя событие @Listen onCreate)
<treecell>
<!-- STATUS -->
<image src="/Librerias/Imagenes/${each.data.status}.png">
<custom-attributes attributeName="value" />
</image>
</treecell>