Grails品牌应用

标签 grails

这就是挑战:根据输入的URL,我想显示特定的登录页面,并在登录后根据用户的身份显示特定的用户体验。

例如,www.abc.com和www.xyz.com都指向提供共同门户体验的单个Grails实例。如果用户通过www.abc.com到达,我想显示带有登录表单的ABC启动页面。如果用户通过www.xyz.com到达,我想显示带有登录表单的XYZ启动页面。

用户登录后,我需要保留由传入URL确定的原始“品牌”上下文。例如,即使所有用户共享了所有GSP, Controller 等,ABC用户也将获得他们自己的CSS,资源束(或条目)等,并且该用户的视觉体验将与XYZ用户截然不同。

这可能吗?还是我需要分支应用程序代码库并托管多个独立的门户网站实例?

最佳答案

http://www.grails.org/Views+and+Layouts

看一下,我认为它可以解决您90%的问题。每个域都有特定的布局。为每个 View 加载布局,并且可以帮助定义外观

您可以根据网址在过滤器中设置变量,然后可以在布局中读取该变量
http://www.grails.org/Filters

class MyFilters {
   def filters = {
        myFilter(controller:'*', action:'*') {
            after = {
              if (request.requestURI == "xyz") {
                session.layout = "layout1.gsp"
              } else {
                session.layout = "layout2.gsp"
              }
           } 
        }
   }
}

关于Grails品牌应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3621115/

相关文章:

unit-testing - 如何模拟 Grails Domain 类的特定方法?

jquery-ui - jQuery UI对话框-数据不刷新

Grails 选择标记结果

mongodb - 常规查询两个日期之间的MongoDB

javascript - 即使 Jquery 对话框未打开,Div 对话框内容也会显示

grails - 使用Weceem插件在Grails中创建可部署的 war

grails - 如何在不使用 UI 的情况下自动执行 Java 应用程序测试?

Grails,左外连接

mongodb - Grails 文档中的自定义事件监听器示例

json - Grails 3 响应方法不使用定义的 JSON 编码器格式