ColdFusion 2016代码分离

时间:2017-08-25 09:53:19

标签: coldfusion cfml

几年后我(从版本8开始)回到ColdFusion。 我正在改变我对web dev的方法,而不是将页面发布到服务器,而是提交对CFC的Ajax调用以与我的数据库通信。 到目前为止很好,但我想知道..

而不是使用大量的内联服务器ColdFusion代码(方便),设置HTML元素,如表单字段和标签等。 我可以用JS设置这些AFTER页面加载吗? 我知道我可能但这是明智的,也是一种好方法吗? 保持我的客户端代码干净吗?

同样严格意义上的第二个问题,但是专用的ColdFusion Windows服务器会处理300个用户,同时最多100个用户吗?

3 个答案:

答案 0 :(得分:2)

如果您要使用ColdFusion仅提供数据,您可以将其留在前端以创建HTML(字段,标签等)。 既然你说你不想内联CF代码,这几乎是你最好的选择(还有其他方法可以做到这一点,但既然你问这个问题,这个方法可能是最快的开始)。

在实践中,您将创建数据,让我们说JSON或XML数据,前端需要解析并从中创建HTML。

有许多工具可以根据您的描述进行设计。我不会考虑正确的工具是什么,但如果你研究你会发现很多赞成/缺点/实施细节等。 tools 这个词很重要这里。有些是框架,有些则不是。您正在寻找可以创建或以其他方式填充CFC将提供的数据的JavaScript框架,库或插件。

您可以构建自己的" UI框架"通过使用jQuery / jQuery UI(甚至原始JS)之类的东西,或者你可以使用其他工具。 AngularJS,React,extJS等

Here's a link列出并描述了一些流行的JS前端框架。

其次,第二个问题没有足够的信息来回答。具有正确配置的单个服务器可以支持100个并发用户。但性能取决于您的硬件和软件。如果你有足够的CPU能力,内存,磁盘I / O等,并且你的软件不需要来自硬件的大量资源(考虑高CPU使用率,高内存使用率等),那么你会没事的。

答案 1 :(得分:1)

我的方法是使用ColdFusion简单地生成JSON,我将其提供给我的前端模板。为了生成我的JSON,我仍然可以利用所有的CF函数来调整我需要的东西。

至于你的第二个问题,它将取决于你的服务器正在做的工作,但我认为一般来说你不应该有任何问题。我在我的服务器上进行了一些图像处理,这增加了很多负载,但我仍然可以毫无问题地处理300个同时连接。你的milage可能会有所不同。

答案 2 :(得分:0)

虽然这个问题非常广泛,但请接受我的看法。

一旦我知道我有很多内容,我不想立刻生成它,但也不想立刻显示它。

我发现选项卡上的jQuery UI的AJAX只是解决这两个问题的门票

请参阅:https://jqueryui.com/tabs/#ajax

以下是jQuery UI方法的ColdFusion化版本

<div id="tabs">
  <ul>
    <li><a href="#tabs-1">Preloaded</a></li>
    <li><a href="ajax/content1.cfm">Tab 1</a></li>
    <li><a href="ajax/content2.cfm">Tab 2</a></li>
    <li><a href="ajax/content3-slow.cfm">Tab 3 (slow)</a></li>
    <li><a href="ajax/content4-broken.cfm">Tab 4 (broken)</a></li>
  </ul>
  <div id="tabs-1">
    <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
  </div>
</div>

<强>后来

我不再使用jQuery UI了。我现在使用Bootstrap选项卡执行相同的方法。它需要更多的接线,但仍然有用。