如何为内部 class 加载资源包?使用检票口 6.6

How to load resource bundle for inner class? using wicket 6.6

Unable to find property: 'registerform.agencyName.Required' for component:  [class=com.brazil.clasadm.application.AppnRegister$AppnRegisterForm].

我的场景是这样的:

public class AppnRegister extends someotherClass {

        public AppnRegister() {
            add(new AppnRegisterForm("registerform"));
        }
        class AppnRegisterForm extends Form {
        TextField agencyName= null;
        agencyName = new TextField("agencyName", new PropertyModel(cac, "agencyName"));
    agencyName .getLocalizer().getString("registerform.agencyName.Required", this);
        }
        }

我尝试通过名称 AppnRegisterForm.properties、AppnRegister$AppnRegisterForm.properties 添加资源包,并且都在存在 AppnRegister.java 的相同位置。但我无法清除这个问题。关于这个问题有什么建议吗?

什么是 AppnRegister?它必须是 Wicket MarkupContainer 但您的代码中没有 extends ...

内部class应该是static才能用AppnRegister$AppnRegisterForm到达它。

解决方案:

  • 使用AppnRegister.properties
  • 使用wicket-package.properties

两者都应该在 class 路径中的 AppnRegister.class 旁边。