Hybris UI的Route(路由)实现
登录Hybris前台,在product catalog里选择Digital camera:

点击某个产品进入明细页面:

注意产品明细这个url:

这个明细页面的路由和SAP UI5的路由思路很像。

在SAP UI5应用里,每个页面都会有一个对应的路由配置信息。该信息的结构如下图所示,包含一个页面的逻辑名称,路由的target url和页面的实际名称。我们在浏览器地址栏里看到的detail为逻辑名称。

回到Hybris,这个url https://localhost:9002/yacceleratorstorefront/electronics/en/Open-Catalogue/Cameras/Digital-Cameras/Digital-Compacts/DSC-H20/p/1978440_blue的请求的处理交由文件夹pages的controller ProductPageController处理:

根据SpringMVC提供的注解@requestmapping, 在运行时当前产品的编号会被自动赋值给变量productCode, 然后通过类似CRM WebUI BOL layer->Genil layer->DB layer的路径把对应product的数据取出来,最后填充给model变量。这个model变量最后用于在JSP UI上显示数据。

关于Hybris这几层之间如何交互的更多介绍,请参考我的微信公众号文章从产品展示页面谈谈Hybris系列之二: DTO, Converter和Populator

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


Hybris UI的Route(路由)实现的更多相关文章
- MVC3/4/5/6 布局页及Razor语法及Route路由配置
		
一.目录结构 二.Razor语法 代码块:@{},如:@{Html.Raw(“”);} @if(){} @switch(){} @for(){} @foreach(){} @while(){} @do ...
 - [PHP] - Laravel - Route路由
		
前言 这里使用的是Laravel 5 PHP Laravel的路由比较强悍,但也正因如此,不统一而容易凌乱.比如在路由中可以直接写方法操作(破坏封装啊) 以下是个人学习的例子,不供参考 路由中的直接方 ...
 - laravel route路由
		
基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 代码如下: Route::g ...
 - angularJS中-$route路由-$http(ajax)的使用
		
后台请求使用的是nodeJS驱动(后面帖代码),很简单的RESTFUL, 页面使用的是bottstarp3.0(懒人神器); 第一个例子: 在本地架设NODEJS, angular的所有请求都是请求本 ...
 - 一步步学习ASP.NET MVC3 (14)——Route路由
		
请注明转载地址:http://www.cnblogs.com/arhat 由于今天是星期六,所以多写几篇,感觉前几天的忙碌没有及时发布文章,趁着周末老魏尽力的多写几篇文章.因为本系列基本上快结束了,所 ...
 - laravel route路由,视图和response和filter
		
Laravel充分利用PHP 5.3的特性,使路由变得简单并富于表达性.这使得从构建API到完整的web应用都变得尽可能容易.路由的实现代码在 application/routes.php 文件. 和 ...
 - RoutePrefix和Route 路由前缀
		
使用应用到某个控制器中所有操作的路由前缀来批注该控制器. web api /// <summary> ////// </summary> [RoutePrefix(" ...
 - route路由的顺序问题了数据包的转发流程
		
2018-02-28 15:29:26 [root@linux ~]# routeKernel IP routing tableDestination Gateway ...
 - linux route 路由设置小记
		
情景一: 有一台ip为172.16.160.53服务器,此服务器为固定ip,由于某些特殊情况,此服务器的ip不能修改. 现在这台服务器需要与另外一个网段ip为172.16.176.150服务器进行局域 ...
 
随机推荐
- DES加密解决算法
			
/// <summary> /// DES加密算法 /// sKey为8位或16位 /// </summary> /// <param name="pToEnc ...
 - Note: File Recipe Compression in Data Deduplication Systems
			
Zero-Chunk Suppression 检测全0数据块,将其用预先计算的自身的指纹信息代替. Detect zero chunks and replace them with a special ...
 - 【leetcode 968. 1028. 从先序遍历还原二叉树】解题报告[待完善...]
			
思路:用一个栈来管理树的层次关系,索引代表节点的深度 方法一: TreeNode* recoverFromPreorder(string S) { /* 由题意知,最上层节点深度为0(数字前面0条横线 ...
 - flask-sqlalchemy中 backref lazy的参数实例解释和选择
			
官方文档:http://docs.sqlalchemy.org/en/rel_1_0/orm/basic_relationships.html#relationship-patterns 最近在学习到 ...
 - 发邮件的python脚本
			
1. 编写一个最简单的发邮件的python脚本 #coding: utf-8 import smtplib from email.mime.text import MIMEText from em ...
 - Spring基本原理模拟(IoC部分)
			
package ioc; import java.io.File; import java.lang.reflect.Method; import java.util.Collections; imp ...
 - hdu3887 Counting Offspring
			
Counting Offspring HDU - 3887 问你对于每个节点,它的子树上标号比它小的点有多少个 /* 子树的问题,dfs序可以很轻松的解决,因为点在它的子树上,所以在线段树中,必定在它 ...
 - ios json转model的简单现实
			
在android开发中,可用第三方的转换库如gson等.当然在ios也有一些库如MJExtensiond等.在这里,我简单实现一下. 一.先建一个model并且继承NSObject,代码如下: cla ...
 - 学习Vim的四周计划
			
来源:Python程序员 ID:pythonbuluo vim具有自定义配色方案,语法高亮,linting和自动填充功能 Vim是一个以非常难学而闻名的命令行文本编辑器(有个关于Vim的笑话:问如何生 ...
 - 事务隔离实现并发控制:MySQL系列之十
			
一.并发访问控制 实现的并发访问的控制技术是基于锁: 锁分为表级锁和行级锁,MyISAM存储引擎不支持行级锁:InnoDB支持表级锁和行级锁: 锁的分类有读锁和写锁,读锁也被称为共享锁,加读锁的时候其 ...