MVC 框架 - 服务器端 DOM 操作

Posted

技术标签:

【中文标题】MVC 框架 - 服务器端 DOM 操作【英文标题】:MVC Framework - Server-side DOM manipulation 【发布时间】:2010-10-05 10:26:49 【问题描述】:

我正在构建一个 MVC 框架,并且我正在寻找本地解决方案/框架/标签库来借鉴或完全替换我的框架。

我对以下功能特别感兴趣:

服务器端 DOM 操作 服务器端事件(页面重新加载、表单提交、节点插入等) 使用 css 选择器遍历 DOM 树 验证 html 节点嵌套 验证 html 节点允许的属性 支持标签库/用户控件

几乎与 javascript 一样,但在服务器端并有一些额外的东西。

任何解决方案都可以(即使是部分解决方案),任何语言都可以,任何指针都可以使用(即使来自客户端语言,只要可以检查源代码)。处理格式错误的 html 不是先决条件。输出有效标记是一大优势。


请指出正在讨论的语言/框架,如果可能的话,提供实用的解决方案。

【问题讨论】:

【参考方案1】:

您检查过 aptana jaxer 吗?

【讨论】:

+1 以获得对该问题的合法答案。虽然,有点斯巴达。是的,@the_drow,有些人宁愿以匿名的方式“猛烈抨击”,而不是讨论一个问题,从而避免对自己的想法和行为进行所有混乱的解释。有些人认为他们太忙了,无法解释他们认为“显而易见”的事情。【参考方案2】:

如果您将页面加载到 DOM 解析器中,您将能够从那里对其进行修改。然后将其输出到输出缓冲区似乎很简单。

但是您需要将整个文档存储在内存中,这会影响性能。

【讨论】:

这就是我在编写 php 框架时采用的方法。然而,这个解决方案需要我手动编写一个事件系统和一个选择器系统。为这些制定一个简单的解决方案并不难,但优化它是一个问题。你还熟悉更多特色的 DOM 操纵器吗?【参考方案3】:

所以,jQuery 实现了一种选择器 API,我想我可以看看他们的源代码。另外,PHP 支持 XPath,这也有帮助。

【讨论】:

【参考方案4】:

在这里找到了一个 php html dom 解析器,它也实现了一些 html 选择器:http://simplehtmldom.sourceforge.net

【讨论】:

【参考方案5】:

Fizzler 使用 HTMLAgility 包并添加了一个服务器端 queryselectorall 来提供 css 选择:http://code.google.com/p/fizzler/

【讨论】:

【参考方案6】:

也许你正在寻找ItsNat

【讨论】:

以上是关于MVC 框架 - 服务器端 DOM 操作的主要内容,如果未能解决你的问题,请参考以下文章

Javascript MVC 框架和服务器端框架

react 杂记

单击 Kendo UI 按钮调用服务器端 MVC 操作

获取 MVC 以在服务器端检索操作结果而无需身份验证

vue服务器端渲染

vue服务端渲染添加缓存的方法