【问题标题】:MVC and Java-EEMVC 和 Java-EE
【发布时间】:2011-10-06 14:15:30
【问题描述】:

这些年来,我对模型-视图-控制器设计模式及其提供的好处产生了浓厚的兴趣。但是当涉及到 Web 应用程序时,我很难充分利用这些优势。

如果我要创建一个名为 UsersComponent 的组件,它包括:

  • 用户列表
  • 主动过滤此用户列表的文本字段

然后在 Java Swing 中,您可以轻松地创建一个扩展 JPanel 的 UserComponent 类,并在 UserComponent 内部拥有模型、视图和控制类。你最终会得到一个非常容易重用的组件。

现在,我想做的是在 Java-EE 中模仿这一点。字符串模板似乎为此提供了解决方案。但是,有一个额外的转折。我喜欢网页设计师。而且我很乐意为他们提供添加组件的机会,而无需让开发人员参与进来,也无需为他们应该使用的入口点投入太多精力。

例如,假设我们有一个基本页面模板,并且设计者希望在此页面的某处添加 UserComponent 组件。然后,您将需要填充模型,在大多数情况下,基于一些请求参数。

所以,这是真正的问题。有谁知道确定给定模板中包含哪些模板的方法。因此,您可以在运行时(或者更确切地说,每次修改时)分析此模板,并在主页控制器中进行适当的内务管理?

基本上,我可以做到这一点:

  • Designer 创建一个字符串模板。比如说,MyPage.st
  • 重写模块将 www.mydomain.com/IgnoredFolderNameForSeo/MyPage 更改为 www.mydomain.com/pagerenderservlet?templateName=MyPage
  • 页面渲染 servlet 根据参数加载字符串模板,分析它以确定字符串模板中使用了哪些组件,并根据需要对其进行初始化。

目前,我能想出的最佳解决方案是为不同的基本页面设置不同的 servlet,从而公开不同的功能子集。但我对这个解决方案一点也不满意。如果有可能动态处理它,它会更整洁。基本上,为所有受支持的组件提供处理程序,但只初始化/处理实际需要的组件。

我很想听听你们对此的看法:)

** 更新 **

我认为我提到的摇摆使这个问题有点混乱。我想做的是创建组件,通过字符串模板供网络设计师使用,然后他们可以将其包含在任何给定的字符串模板中。

所以我想这一切都归结为这一点。

有没有人知道字符串模板框架,它可以让我在运行时确定字符串模板中包含哪些其他字符串模板。

【问题讨论】:

  • 例如在servlet中你转发到一个jsp页面?
  • 所以你想要一个允许用户在运行时创建/读取/更新/删除自定义网页的框架?

标签: java model-view-controller design-patterns jakarta-ee stringtemplate


【解决方案1】:

我不确定是否理解您的问题:您是否已经尝试过诸如 Struts 2、Spring MVC 或 JSF 之类的框架?

你在这些框架中缺少什么吗?

【讨论】:

  • 我研究了 struts、jsf 和 StringTemplate。我无法完成上面列出的 3 点。我可能会忽略一些功能,因此问题:)
  • 我不确定您为什么要谈论“servlet”,因为没有人直接使用 servlet(Web 开发人员使用 MVC 框架)。这让你的问题很难理解。请参阅下面的其他答案。
  • 因为我想将 servlet 用作通用控制器,将字符串模板用作视图并根据需要动态加载所需的模型 :) 上面的示例基于 StringTemplate。不过感谢有关 GWT 的提示,我试试看一下。
【解决方案2】:

如果你想用 MVC(或 MVP)做类似 Web Swing 的开发,你应该试试GWT

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2011-10-15
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多