dram.me

OFBiz中的页面重定向机制

OFBiz有一个有趣的机制,在访问特定页面后,会将该页面设置为HOME页,而其他页面的某些操作,会指定在成功后跳转到HOME页。总体感觉这个机制是容易困扰用户的,因为用户无法事先知道哪些页面在访问后会被设定为HOME。

这个HOME信息被存放在session的HOME_VIEW_NAME变量中。

以下举一个例子说明这一机制。

workeffort/WEB-INF/controller.xmlupdateWorkEffort定义中,response的类型被定义为view-home。(这里有一个细节,为什么已经定义了view-home,还需要指定valueEditWorkEffort?)

而同样在workeffort/WEB-INF/controller.xmlcalendar的定义中,启用了save-home-view

两者结合,就会产生这样的交互效果:用户在点击日历后,再去执行工作记录更新等操作,在成功提交后会重定向到日历页。