Hybris 6.0.0.1 NullPointerException,同时为旋转的图像组件创建标题元素

2020-09-26 05:24发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


当我们尝试创建横幅组件时,我们有NPE

 信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  2016年7月5日11:12:12 org.zkoss.zk.ui.impl.HybrisUiEngineImpl handleError:1616
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 | 严重:>> java.lang.NullPointerException
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getMethodForClass(ItemModelConverter.java:3079)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getLocalizedSetter(ItemModelConverter.java:3112)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.getLocalizedSetter(ItemModelConverter.java:3188)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.setAttributeValue(ItemModelConverter.java:1148)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.setAttributeValue(DefaultModelService.java:836)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.setModelLocalizedValue(DefaultGenericItemMandatoryPageController.java:425)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.validate(DefaultGenericItemMandatoryPageController.java:193)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.Wizard.doDone(Wizard.java:526)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.generic.GenericItemWizard.doDone(GenericItemWizard.java:680)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在java.lang.reflect.Method.invoke(Method.java:498)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeMethod(Reflect.java:134)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeObjectMethod(Reflect.java:80)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Name.invokeMethod(Name.java:858)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:645)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:739)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:119)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:310)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:797)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:176)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446)


  

我们将de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter 6.0与5.7进行了比较,区别是:

5.7:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          Preconditions.checkArgument(foundMethod!= null,"在模型类" + modelClass.getName()处找不到属性的设置器+ attributeName +"和值\'" + attributeValue +" \'));
          返回foundMethod;
      }

  

6.0:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          返回foundMethod;
      }
  
6048-screen-shot-2016-06-30-at-44338-pm .jpg (209.8 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


当我们尝试创建横幅组件时,我们有NPE

 信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  2016年7月5日11:12:12 org.zkoss.zk.ui.impl.HybrisUiEngineImpl handleError:1616
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 | 严重:>> java.lang.NullPointerException
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getMethodForClass(ItemModelConverter.java:3079)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.835 |  >>在de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter $ ModelAttributeInfo.getLocalizedSetter(ItemModelConverter.java:3112)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.getLocalizedSetter(ItemModelConverter.java:3188)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter.setAttributeValue(ItemModelConverter.java:1148)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.servicelayer.internal.model.impl.DefaultModelService.setAttributeValue(DefaultModelService.java:836)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.setModelLocalizedValue(DefaultGenericItemMandatoryPageController.java:425)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.836 |  >>位于de.hybris.platform.cockpit.wizards.generic.DefaultGenericItemMandatoryPageController.validate(DefaultGenericItemMandatoryPageController.java:193)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.Wizard.doDone(Wizard.java:526)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>位于de.hybris.platform.cockpit.wizards.generic.GenericItemWizard.doDone(GenericItemWizard.java:680)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在java.lang.reflect.Method.invoke(Method.java:498)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeMethod(Reflect.java:134)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Reflect.invokeObjectMethod(Reflect.java:80)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.Name.invokeMethod(Name.java:858)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHMethodInvocation.eval(BSHMethodInvocation.java:75)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.837 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:645)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >>在bsh.Interpreter.eval(Interpreter.java:739)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.bsh.BSHInterpreter.exec(BSHInterpreter.java:119)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.scripting.util.GenericInterpreter.interpret(GenericInterpreter.java:310)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.PageImpl.interpret(PageImpl.java:797)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:176)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.838 |  >> org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:141)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:519)
  信息|  jvm 1 | 主|  2016/07/05 11:12:12.839 |  >>在org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:446)


  

我们将de.hybris.platform.servicelayer.internal.converter.impl.ItemModelConverter 6.0与5.7进行了比较,区别是:

5.7:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          Preconditions.checkArgument(foundMethod!= null,"在模型类" + modelClass.getName()处找不到属性的设置器+ attributeName +"和值\'" + attributeValue +" \'));
          返回foundMethod;
      }

  

6.0:

 私有方法findSetterForAttribute(Class modelClass,String attributeName,Object attributeValue,boolean localized){
          ItemModelConverter.MatchMethodCallback matchMethodCallback = new ItemModelConverter.MatchMethodCallback((ItemModelConverter.MatchMethodCallback)null);
          ItemModelConverter.MatchSetterFilter matchMethodFilter = new ItemModelConverter.MatchSetterFilter(attributeName,localized,attributeValue,(ItemModelConverter.MatchSetterFilter)null);
          ReflectionUtils.doWithMethods(modelClass,matchMethodCallback,matchMethodFilter);
          方法foundMethod = matchMethodCallback.getFoundMethod();
          返回foundMethod;
      }
  
6048-screen-shot-2016-06-30-at-44338-pm .jpg (209.8 kB)
付费偷看设置
发送
10条回答
空代码
1楼-- · 2020-09-26 05:58

Hi看来,对于本地化的setter instanceof在代码内的某个地方给出null,我做了nt knw解释为什么它仅在使用自定义组件时才会出现。 您实施了哪种拦截器,请详细说明。

谢谢

亦是此间程序员
2楼-- · 2020-09-26 05:59

嗨,迈克尔。 唯一的解决方案是升级到Hybris 6.3。 在此处查看票证: https://jira.hybris.com/browse/ECP-1381

如果您不选择升级,则需要培训CMSCockpit用户按照以下步骤来解决: https://www.pdf-archive.com/2016/10/20/banner-component-workaround/banner-component-workaround .pdf

Violet凡
3楼-- · 2020-09-26 06:13

嗨,它在桌面版本中效果很好,谢谢。 您能否让我知道如何使其也能快速响应。

天桥码农
4楼-- · 2020-09-26 06:09

我们遇到了同样的问题。 有没有解决的办法,如果可以,请给我指出正确的方向。

一周热门 更多>