SAP WebClient UI界面元素ID生成的逻辑分析

If we open a WebClient UI page with Chrome and inspect its UI element via Chrome development tool, we could observe that the id attribute has some prefix for example C#_W#_V#_V#… where # represents a number.


SAP WebClient UI界面元素ID生成的逻辑分析


Where is this id generated? Set a breakpoint on method CL_CHTMLB_CONFIG_UTILITY~RENDER_FROM_XML and we can find the method GENERATE_TAG_ID which did the job:


SAP WebClient UI界面元素ID生成的逻辑分析


All the ID of the page in the view hierarchy will be concatenated as the prefix of current element’s ID.


SAP WebClient UI界面元素ID生成的逻辑分析


If the current page is the first child of its parent, it has ID 1 assigned ( line 22 ), or else WebUI framework will increase the counter held internally and assign the latest value to the current UI element as ID ( line 16 ).



SAP WebClient UI界面元素ID生成的逻辑分析

Finally the ID is concatenated with seperator “_”.


SAP WebClient UI界面元素ID生成的逻辑分析


This ID will appear in the rendered HTML native code.

The capital characters contained in the ID are defined as constant attribute in CL_BSP_WD_CONTROLLER.

SAP WebClient UI界面元素ID生成的逻辑分析

上一篇:如何在Linux上检查SSH的版本(转)


下一篇:装饰设计模式图解