Tapestry 5–10分钟Apache Tapestry演示

这是Tapestry5中大约10分钟的编程演示,用于创建一个示例应用程序。这个应用程序非常简单,只允许你将URL添加到列表中,然后对其进行投票,就像Digg或Reddit背后的想法一样。我并没有很详细地解释事情,所以它更多的是演示了一些你可以做的事情,而不是一个循序渐进的教程。


制作应用程序的一般步骤:

  • 从Maven原型创建Quickstart应用程序。
  • 添加Hibernate的依赖项和配置。
  • 创建一个Item实体来存储我们的url、标题和投票数。
  • 使用BeanEditForm和onSuccess方法创建Items。
  • 使用循环显示数据库中的项
  • 使用ActionLink和onActionFromVote方法计算选票
  • 添加onValidate方法来验证URL。
  • 将循环放入Zone并使用ActionLink进行更新

该应用程序使用了5.3中的Quickstart原型,因此使用了新的绿色主题。

勘误表

  • 我在BeanEditForm上使用了@Component,但我应该使用@InjectComponent。正如你在评论中看到的,霍华德不太确定为什么这样做有效。因此,请改用@InjectComponent。
  • 区域应该围绕ul元素,而不是在其中。区域呈现为div,我们不应该在打开/关闭ul中有div。

11对“Apache Tapestry 5–10分钟演示”的回复

  1. 非常好,只需几点提示:

    我倾向于对我的事件处理程序方法不使用可见性修饰符(即“package private”)。

    在Zone上,我会将t:Zone放在<ul>周围,我不确定您是否在<ul><li>元素之间呈现有效的HTML。

    最后,我很惊讶@Component注释在您的情况下有效,您应该在根据模板确定组件类型时使用@InjectComponent,如本例所示(即<t:beaneditfor>

  2. 你好,马克,

    对于像我这样的Tapestry新手来说,像你这样的视频教程是一股新鲜空气。您还介绍了一些关键点,例如通过Hibernate持久化到数据库的Tapestry表单。你有足够的热情制作IntelliJ IDEA/Tomcat版本吗?

    谨致问候,

    克里斯。

  3. 你好,马克,

    看起来不错。你有一副悦耳的录音嗓音,节奏也很快——也许对n00bs来说有点快。你让它看起来很容易,这很好。

    就用户体验而言,我想这不是重点,但我会尝试一些比“无效URL”更具解释性的东西;此外,我不记得它是否在表格中指明了问题所在。此外,我对当你点击列表时自动重新排序列表的做法有点矛盾,感觉有点突然,这可能会让人迷失方向。此外,如果他们想投票两次(如果允许的话),他们可能会认为“我可以点击点击”,然后发现他们投票错了,因为它被移动了——所以你可能会添加延迟。

    最后,视频突然结束了。我建议在结尾做一个简短的回顾/道别。

    总的来说,我认为它做得很好,很容易理解,也很愉快。谢谢。

  4. 哦,忘了提到优秀的演示!你没有错过任何一步,你的演示也很好,即使你忘记将属性标记为私有。呈现错误绝对有帮助。

    谢谢你这么做。

留下回复

您的电子邮件地址将不会被发布。 已标记必填字段*