java – 在Hybris中解释JSP中的动态属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 在Hybris中解释JSP中的动态属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2668字,纯文字阅读大概需要4分钟。
内容图文
![java – 在Hybris中解释JSP中的动态属性](/upload/InfoBanner/zyjiaocheng/775/29ec0976702143399870d93161509b8e.jpg)
我创建了一个动态属性来处理导航节点条目的可见性,与Hybris的所有相关规则兼容.我能够在Java代码中达到属性而不会遇到任何问题,但我无法让JSP解释它.我的DynamicAttributeHandler类顺利工作但JSP在读取时失败了.这些是创建属性的步骤:
1)items.xml
<attribute qualifier="navigationNodeVisibility" type="java.lang.Boolean">
<persistence type="dynamic" attributeHandler="navigationNodeVisibilityAttributeHandler"/>
<modifiers read="true" write="false" search="true"/>
<defaultvalue>java.lang.Boolean.TRUE</defaultvalue>
</attribute>
2)NavigationNodeVisibilityAttributeHandler.java
@Override
public Boolean get(CMSNavigationNodeModel model) {
if (model != null) {
for(CMSNavigationEntryModel cmsNavigationEntry:model.getEntries()){
if(cmsNavigationEntry.getItem() instanceof CMSLinkComponentModel){
CategoryModel category= ((CMSLinkComponentModel)cmsNavigationEntry.getItem()).getCategory();
if((category.getVisibility()== null || category.getVisibility() ) && ActiveProductStatus.ACTIVE == category.getActiveProductStatus()
&& ManageCategoryByDateStatus.ACTIVE == category.getManageCategoryByDateStatus()){
return Boolean.TRUE;
}
}
}
return Boolean.FALSE;
}
return null;
}
3)注册bean
<bean id="navigationNodeVisibilityAttributeHandler" class="com.inomera.hybris.core.handler.NavigationNodeVisibilityAttributeHandler" />
4)蚂蚁清洁所有&&蚂蚁更新系统
每当我在jsp文件中调用它时,我都会遇到类似“..处理JSP页面时发生异常……”的错误.
<c:forEach items="${component.navigationNode.children}" var="cx">
${cx.navigationNodeVisibility}
</c:forEach>
以这种方式调用属性并没有抛出异常,但在我的情况下必须在for循环中使用它.
${component.navigationNode.children [0] .navigationNodeVisibility}
任何帮助或建议将非常感激
注意:${cx.getNavigationNodeVisibility()}确实抛出了相同的JSP异常.
编辑:JSP异常示例
WARN [hybrisHTTP14] [XXXXXXXXXXXX] [DefaultCMSComponentRendererRegistry] Error processing component tag. currentComponent [CategoryNavigationComponentModel (8796098036796@1)] exception: An exception occurred processing JSP page /WEB-INF/views/responsive/cms/categorynavigationcomponent.jsp at line 14
11: <nav id="menu" style="display: none;">
12: <ul>
13: <c:forEach items="${component.navigationNode.children}" var="childLevel1">
14: <c:if test="${ childLevel1.visible eq 'true' && childLevel1.navigationNodeVisibility}">
15: <li>
16: <c:forEach items="${childLevel1.entries}" var="childEntry1" end="1">
17: <c:if test="${not empty childLevel1.children}">
解决方法:
您是否检查过属性处理程序中的类别是否为空?
我假设您只允许在前端使用在线目录版本,如果您使用分阶段目录中的类别,您将获得一个空值.或者也许有人忘了首先添加类别.
内容总结
以上是互联网集市为您收集整理的java – 在Hybris中解释JSP中的动态属性全部内容,希望文章能够帮你解决java – 在Hybris中解释JSP中的动态属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。