【问题标题】:Are there any web frameworks for JVM with data binding checked at compilation time?是否有任何用于 JVM 的 Web 框架在编译时检查数据绑定?
【发布时间】:2012-03-08 16:06:07
【问题描述】:

通常当你将某些属性绑定到 www 页面中的某些元素时,你会在测试时知道拼写错误。

我正在寻找一个 web 框架,它在编译时会给我一个错误,我在绑定中出错(“找不到属性”或类似的东西)并假设我的 IDE 具有有效的重构机制,重命名属性也会影响绑定(反之亦然),换句话说,重命名不会导致代码损坏。

JVM有这样的框架吗?

我是 JVM 世界的新手,所以我不知道 JVM 框架的特性(根本不知道我要求的这个特性)。

【问题讨论】:

  • Eclipse中的JSP开发可以做到这一点。
  • 哇,好消息(可惜它可能是最重量级的框架;-D)。你能发表你的评论作为答案吗?谢谢。

标签: java data-binding jvm web-frameworks


【解决方案1】:

我已经实现了static-mustache library 以提供基于 mustache 语法的类型安全模板引擎。

它在编译时检查语法错误和类型错误(如缺少属性)。它需要零构建配置,因为它是标准注释处理器。

模板仍然是纯胡须模板,所有类型信息都从用于呈现的普通 Java 类中提取。

【讨论】:

    【解决方案2】:

    Eclipse中的JSP开发可以做到这一点

    【讨论】:

    【解决方案3】:

    Vaadin 框架

    Vaadin 8+ 支持这种与 Java lambda 表达式的绑定。

    有一个特殊的Binder类:

    Binder<Person> binder = new Binder<>();
    TextField titleField = new TextField();
    
    // Start by defining the Field instance to use
    binder.forField(titleField)
      // Finalize by doing the actual binding to the Person class
      .bind(
        // Callback that loads the title from a person instance
        Person::getTitle,
        // Callback that saves the title in a person instance
        Person::setTitle));
    

    详见文档:https://vaadin.com/docs/framework/datamodel/datamodel-forms.html

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 2013-03-16
      • 2010-10-03
      • 2012-09-09
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      相关资源
      最近更新 更多