Java 如何在freemaker中使用没有get和set的bean?

Java 如何在freemaker中使用没有get和set的bean?,java,freemarker,Java,Freemarker,我有一节这样的课 public class User { public String username; public String age; } 当我使用freemarker时 ${user.username!} 我什么也没得到 但是如果我像这样换个班 public class User { public String username; public String age; public String getUserna

我有一节这样的课

 public class User {
   public String username;
   public String age;
}
当我使用freemarker时

${user.username!}

我什么也没得到

但是如果我像这样换个班

   public class User {
        public String username;
        public String age;

        public String getUsername() {
           return username;
        }
   }
我可以得到价值

如何在freemaker中使用没有get和set的bean

因为我有太多的课没有准备


我尝试lombok,但它不是我想要的。

没有getter和setter的类不是标准的Java bean。请参阅,其中规定,按照约定,必须使用get、set和is方法访问属性


因此,您应该习惯于在bean类中提供这些方法。

默认情况下,freemarker只公开JavaBean属性和公共方法

但您可以将ObjectWrapper配置为公开所有公开的非静态字段:

Configuration cfg = new Configuration(Configuration.VERSION_2_3_27);
DefaultObjectWrapperBuilder wrapperBuilder = new DefaultObjectWrapperBuilder(Configuration.VERSION_2_3_27);
wrapperBuilder.setExposeFields(true);
cfg.setObjectWrapper(wrapperBuilder.build());
    

这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-