Атрибут Widgetmodel не отображается на странице ZUL (Hybris)

#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;   ...