跳至内容

使用 Click 框架/扩展开发 Java Web 应用程序

来自维基教科书,一个开放的世界中的开放书籍

Click Extras 提供了一套额外的控件和组件库,这些库超出了 Click 框架的核心功能。Click Extras 打包为一个独立的 JAR 文件,可以与您的应用程序一起部署。额外的包包括

  • Cayenne - 提供 Cayenne 数据感知控件
  • Control - 提供额外的控件
  • Filter - 提供 GZIP 压缩过滤器
  • Graphics - 提供图形控件
  • Hibernate - 提供 Hibernate 数据感知控件
  • Panel - 提供页面面板容器
  • Spring - 提供 Spring 集成 SpringClickServlet

Click Extras 为人们提供了一个场所,让他们可以将自己的代码贡献给 Click 项目,并将其与标准发行版打包在一起。贡献的代码将经过审查,并且可能需要修改才能包含在 Click 发行版中。

Click 的一项主要设计原则就是保持简单,这使得代码更容易理解,也更可靠。

另一个指导原则就是 YAGNI(You Ain't Going to Need It,你不需要它),也就是说,只有真正需要的时候才去构建它。Click 试图提供一个 80/20 规则框架,其中 80% 的人的需求可以通过一个只有 20% 大小的框架来满足。

在开发 Click Extras 贡献时,请遵循这些原则。

依赖项

[编辑 | 编辑源代码]

组件和控件应该具有最少的依赖项。这样做是为了支持 Click 示例的轻松部署,并使 Click 构建过程保持简单。

请注意,Cayenne 和 Spring 依赖项仅在使用这些特定功能时才需要。例如,如果您使用 Hibernate 作为持久化框架,那么 CayenneForm 控件不会引起任何问题,因为此类永远不会被您的应用程序加载。

自动文件部署

[编辑 | 编辑源代码]

Click 框架使用 Velocity ToolsWebappLoader来加载模板。这避免了使用 VelocityClasspathResourceLoaderFileResourceLoader在 JEE 应用程序服务器上带来的问题。

为了使预配置的资源(模板、样式表等)可用于 Web 应用程序,Click 会自动将配置的类路径资源部署到/click目录(启动时不会覆盖现有文件)。

为了使您的控件能够在启动时部署资源,它应该使用 Control onDeploy() 方法。使用此方法的 Click 额外控件应该在 Click Extras JAR 中注册extras-controls.xml文件。

编码风格和实践

[编辑 | 编辑源代码]

Click 遵循 Sun 针对 Java 代码风格的约定。其他风格约定和实践包括

  • 缩进为 4 个空格,不使用制表符
  • public 和 protected 可见性成员需要 Javadoc
  • private 和 package 可见性成员不需要 Javadoc
  • 优先使用未经检查的RuntimeException并避免创建新的 Exception 类
  • 检查方法参数并抛出IllegalArguementException如果参数为 null 或无效
  • 避免创建比完成工作所需的更多类
  • 在类的properties文件中本地化控件消息
  • 使用Context.getLocale()方法获取用户的区域设置
  • 在签入代码之前,运行 Ant 任务ant format-java
华夏公益教科书