FW / 1放置附加功能的最佳位置?

时间:2013-07-19 10:07:32

标签: coldfusion cfml fw1

我正在学习FW / 1框架,到目前为止一直都很好。我主要了解控制器/服务/视图的工作原理。但是我有一些额外的功能在某些情况下操纵视图,即根据返回到视图的内容改变CSS和布局。添加此功能以使其可供视图访问的最佳位置在哪里?

1 个答案:

答案 0 :(得分:3)

使用一个例子,我通常会使用'formatter'对象 - 在我的应用程序中一致地格式化日期等。要在FW / 1应用程序中完成此操作,我通常会在setUpRequest()中调用一个控制器方法,将格式化程序对象放入请求上下文(rc)。

例如,我的s​​etupRequest()方法可能如下所示

function setupRequest( rc ) {
    controller( 'setup.default' );
}

在setup.default()中,我的代码与此类似:

component accessors="true" {

    property Any formatter;

    public void function default( Any rc ){
        rc.formatter = formatter;
    }
}

我使用ColdSpring来处理我的依赖注入 - 但我很确定你可以很容易地使用DI / 1并且根本没有任何代码更改。

然后,例如,如果我需要在视图中格式化日期,我只需使用它:

rc.formatter.formatDate( someObject.getSomeDate() )

您可以修改此示例以使用不同的CSS等逻辑,将该逻辑放入CFC并将其包含在请求上下文(rc)中。