#widget #hybris #backoffice #zul
Вопрос:
Привет, я пытаюсь передать данные с моего customGraphService на мою страницу ZUL через customGraphController. Но он не будет показывать это.
Customgraph сервис
public class customGraphService { public String test(){ return "this is a test"; } }
Пользовательский графический контроллер
import com.hybris.cockpitng.core.model.WidgetModel; import org.training.services.customGraphService; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.select.annotation.WireVariable; import com.hybris.cockpitng.util.DefaultWidgetController; public class customGraphController extends DefaultWidgetController { @WireVariable private transient customGraphService customGraphService; @Override public void preInitialize(Component comp) { super.preInitialize(comp); // get the model WidgetModel model = getModel(); model.put("test", customGraphService.test()); } }
КОД СТРАНИЦЫ ZUL
lt;h:bodygt; lt;h:divgt; lt;h:canvas id="myChart"gt;lt;/h:canvasgt; lt;/h:divgt; lt;h:divgt; lt;h:div value="${widgetModel.test}"gt;lt;/h:divgt; lt;/h:divgt; lt;/h:bodygt;
Комментарии:
1. После долгих поисков со слезами и кровью я нашел проблему. Поскольку customGraphController является сериализуемым классом, если требуется serialVersionId. Я использовал действия сохранения, чтобы сгенерировать это для всех сериализуемых классов. теперь это работает…
2. спасатель жизни! Я попробую это и обновлю, если это сработает для меня. Возможно, вы также могли бы ответить и принять свой собственный вопрос с помощью этого комментария.
3. Рад , что нашел его :D, да, я скоро дам ответ
Ответ №1:
Необходимо добавить serialVersionUID, так как суперкласс сериализуем.
public class customGraphController extends DefaultWidgetController { private static final long serialVersionUID = herecomesyouruid; ...