背景

我要制定一个新的网络应用程序与java。这不是很大或非常复杂和我有足够的时间,直到它会"正式"开始。

我有一些JSF/客户端的发展背景(大约一半,一年)。我也有一些经验性JSP+JSTL.

在自我教育的目的(而且也在为找到最佳解决方案)我想原型的新项目的一个基于行动的框架。实际上,我会选择之间的春季视和条纹。

的问题

为了得到正确的印象,有关基于行动的框架(比JSF)我想可以肯定的是,我正确地使用它们(在较大或较小的程度上).

所以,在这里我列举一些最频繁的任务(至少对我来说),并描述了我是如何解决他们与JSF.我想知道它们应该如何解决行动的框架(或单独用弹簧视条,如果有任何差异的具体任务)。

  1. 呈示的内容:我可以申请准备使用的组件,从标准的jsf库(核心和html)或从第3-缔约方的库(如RichFaces).我可以将简单的部件,我可以很容易地创造我自己的组件,这是根据标准成分。
  2. 呈现的数据(原始或参考类型)在正确的格式:每个部件允许指定一个 转换器 转换数据在这两个方面(渲染并发送到服务器)。转换器是,如往常一样,一个简单的类有2小的方法。
  3. 网站的导航:我指定一组 导航的情况下 在faces-config.xml.然后,我指定的行动属性的一个链接(或一个按钮),这应与一个或更多的导航情况。最好的比赛是选择通过JSF.
  4. 实施流动(多种形式的向导,例如):我使用的JSF1.2所以我用 Apache乐团 对于流动(对话)的范围。
  5. 形式的处理:我有一个漂亮的标准java-豆(背豆在JSF方面)与一些范围。I'地图'的形式在这个领域豆的性质。如果一切顺利(没有例外和验证传递的),那么所有这些属性都设置价值从形式领域。然后我可以叫一个方法(规定中按钮的 动作 属性)执行一些逻辑和重返串这应该从我的一个导航情况下去到下一个屏幕。
  6. 形式验证:我可以创造定义验证程序(或选择现有的),并将其添加到几乎每一个组成部分。第3-缔约方图书馆成套定制的ajax验证程序。标准的验证程序的工作只有后一页是提交。实际上,我不喜欢如何验证JSF工作。太多的魔法。许多标准组成部分(或者,也许所有的人)已预先定义的验证,这是不可能的禁用(也许不能始终,但我遇到了许多问题)。
  7. 阿贾克斯支持:许多第3-缔约方的库(MyFaces,借助该,OpenFaces,AnotherPrefixFaces...)具有强大的阿贾克斯的支持,它工作得很好。直到你遇到一个问题。太多的魔法。这是非常难以使它的工作如果没有工作但你做了正确的,因为它所描述的手册。
  8. 用户友好的网址: 人们说 有一些图书馆的存在。这是可以做到 与过滤器 为好。但我从来没有尝试过。这似乎太复杂,先看看。

预先感谢explaning如何将这些项目的(或他们中的一些)可以与基于行动的框架。

有帮助吗?

解决方案

我会尽我所能来回答关于 条纹.我用的支杆和JSF在过去,但不是最近的,因此在最好的,我已经模糊的概念和感受关于他们。

我们都熟悉w/条纹,使用它的大多数现在一切都和真的很喜欢它。这是很容易进入,支持许多复杂情况,但你也是免费的工作之外,这是真正重要的是,当你想要建立自己的ajax工谈到的另一个体系或一些东西。

如果你走这条路,我 肯定 建议购买或下载 这本书.它是一个一站式商店你需要的一切条,实际上是唯一的文件Stripersist(真的很不错的功能,但没有网docs).


呈示内容:我可以申请准备使用的组件,从标准的jsf库(核心和html)或从第3-缔约方的库(如RichFaces).我可以将简单的部件,我可以很容易地创造我自己的组件,这是根据标准成分。

这是类似的。核心、Html、裂变材料条约,等等。以及任何定义的标签,你找到,inc.显示:标签、包装标签,并创建你自己的。然而,很明显,你没有处理在该组件的水平,现在,你处理的标签,以确定哪些是在网页上/或发送的服务器。

呈现的数据(原始或参考类型)中的正确格式:每个部件允许指定一转换器将数据转换这两种方式(渲染并发送到服务器)。转换器是,如往常一样,一个简单的类有2小的方法。

条纹中有许多内在转换器,而且很容易创造定义转换器,用于更复杂的数据类型。条纹的支持非常复杂的数据结构将映射的有点麻烦。结合 Stripersist, 例如,我可以把我的模型对象直接在ActionBean,把一些领域在形式,和Stripersist将水合物模型从数据库(基于其企业)和更新,与该领域我放在形成所有前释放控制我的ActionBean.

网站的导航:我指定的导航情况faces-config.xml.然后,我指定的行动属性的一个链接(或一个按钮),这应与一个或更多的导航情况。最好的比赛是选择通过JSF.

导航的条纹是基于什么你的名字ActionBeans,最初。没有xml。此外, 漂亮的网址 是一个注解在ActionBean水平条纹1.5,所以你可以不喜欢的东西 @UrlBinding("/{$event}/{model}") 哪里 /view/5 会带你到"view"事件处理程序,对模型物体与ID/PK5。

实施流动(多种形式的向导,例如):我使用的JSF1.2所以我用阿帕奇乐队的流动(对话)的范围。

而我只是我很熟悉这一概念的对话范围、有条纹 向导的形式 功能,但是我没有用过它,我无法真正展开。我认为这是一个类似的想法。

形式处理:我有一个漂亮的标准java-豆(背豆在JSF方面)与一些范围。I'地图'的形式在这个领域豆的性质。如果一切顺利(没有例外和验证传递的),那么所有这些属性都设置价值从形式领域。然后我可以叫一个方法(规定中按钮的行动属性)执行一些逻辑和重返串这应该从我的一个导航情况下去到下一个屏幕。

不大幅度不同。而不是组件在您的[行动]豆,你现在有Java或定义的类型。ActionBeans创建每个请求,扔掉,除非你做些什么喜欢把它放在会议或向导或者什么的。这个是好的,因为所有的实例变量得到映射数据的形式,使用它,然后扔掉它,而不必处理任何同步等问题的支柱没有。之后你做你的事情的数据,条可以让你发送一个ForwardResolution(确定状态),重新定向,或流(式,文件等)。重定向-后职位的模式是实现很好的想法 闪范围 (3/4下页)。

形式验证:我可以创造定义验证程序(或选择现有的),并将其添加到几乎每一个组成部分。第3-缔约方图书馆成套定制的ajax验证程序。标准的验证程序的工作只有后一页是提交。实际上,我不喜欢如何验证JSF工作。太多的魔法。许多标准组成部分(或者,也许所有的人)已预先定义的验证,这是不可能的禁用(也许不能始终,但我遇到了许多问题)。

条允许验证中注释的实例上的变量在ActionBean.他们允许一些默认,需要,maxlength,等等。或者你总能创建自己的。默认是很容易增加,并且灵活,同时总是有能力做一些完全自定义。

阿贾克斯支持:许多第3-缔约方的库(MyFaces,借助该,OpenFaces,AnotherPrefixFaces...)具有强大的阿贾克斯的支持,它工作得很好。直到你遇到一个问题。太多的魔法。这是非常难以使它的工作如果没有工作但你做了正确的,因为它所描述的手册。

这是我的大问题,JSF的做事方式。甚至如果你没有获得的部件正确的,你仍然坚持这部件。有条纹,你可以使用任何最新和最伟大的Jquery提供的,并且只要你发送的权利获得或发布服务器、条纹知道要做什么与它可以很容易地发送JSON回。我认为构成部分框架配合的适当位置一个在几年前要好得多,当阿贾克斯是很难的,但Q使它如此容易。

用户友好的网址:人们说,有些图书馆的存在。它可以做到的过滤器。但我从来没有尝试过。这似乎太复杂,先看看。

@UrlBinding, 它是那么简单。

其他提示

我的回答是不是你想听到:不开关从构成部分框架的行动框架

我切换其他的方式,围绕多年之后的行动框架的发展和我永远也不会回来。

8使用的情况下所提到的,只有一个想到的行动框架显然是更好的,那就是URL设计/友好的网址。它可以在构成部分框架,但是更容易在行动框架(尤其是在条纹你刚刚注释你ActionBean与url)。

我会建议你尝试检票,这是非常容易学习(更容易比JSF)和它让你再使用许多现有的部件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top