0

这些年来,我越来越喜欢 Model-View-Controller 设计模式及其提供的好处。但是当涉及到 Web 应用程序时,我正在努力充分利用这些好处。

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

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

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

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

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

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

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

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

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

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

** 更新 **

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

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

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

4

2 回答 2

2

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

这些框架中是否缺少一些东西?

于 2011-07-16T08:55:19.947 回答
0

如果您想使用 MVC(或 MVP)进行类似 Web Swing 的开发,您应该尝试GWT

于 2011-07-16T17:12:30.177 回答