【问题标题】:ColdFusion 2016 code separationColdFusion 2016 代码分离
【发布时间】:2018-02-03 08:27:57
【问题描述】:

几年后我又回到了 ColdFusion(从第 8 版开始)。 我正在改变我对 Web 开发的方法,而不是将页面发布到服务器,而是将 Ajax 调用提交给 CFC 以与我的数据库对话。 到目前为止一切顺利,但我想知道..

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

严格来说也是第二个问题,但专用的 ColdFusion Windows 服务器是否可以同时处理 300 个用户,最多 100 个?

【问题讨论】:

  • 在网页加载后可以用来填充网页的一种方法是结合 CF 的 <cfsavecontent> 标签和 JS 的 innerHtml 函数。我结合 JS 的 setTimeOut 函数来刷新<div> 内容。什么是好方法取决于您要实现的目标。

标签: coldfusion cfml


【解决方案1】:

如果您打算使用 ColdFusion 仅提供数据,那么您将把它留给前端来创建您的 HTML(字段、标签等)。 既然你说你不想内联 CF 代码,这几乎是你最好的选择(还有其他方法可以实现这一点,但既然你问这个问题,这种方法可能是最快的开始) .

在实践中,您将创建数据,比如 JSON 或 XML 数据,前端需要从中解析和创建 HTML。

有许多工具专门针对您所描述的内容而设计。我不打算讨论什么是正确的工具,但如果你研究一下,你会发现很多优点/缺点/实施细节等。tools 这个词在这里很重要。有些是框架,有些不是。您正在寻找可以创建或由 CFC 将提供的数据填充的 JavaScript 框架、库或插件。

您可以使用 jQuery / jQuery UI(甚至原始 JS)之类的东西构建自己的“UI 框架”,也可以使用其他工具。 AngularJS、React、extJS 等。

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

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

【讨论】:

    【解决方案2】:

    我的方法是使用 ColdFusion 来简单地生成 JSON,然后将其输入到我的前端模板中。为了生成我的 JSON,我仍然可以在需要时使用所有 CF 函数来进行调整。

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

    【讨论】:

      【解决方案3】:

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

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

      我发现 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 选项卡执行相同的方法。它需要更多的布线,但仍然有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-08
        • 1970-01-01
        • 1970-01-01
        • 2018-09-21
        相关资源
        最近更新 更多