2016-07-22 74 views
1

我試圖在wildfly swarm上運行jsf應用程序,但我在資源管理方面遇到了一些麻煩。他們對their github頁面狀態短的例子:在wildfly swarm中加載jsf字符串

您需要的XHTML文件中,因爲JSF的方式,如 deployment.addAsWebResource()添加到拆封是非靜態的。

我沒有設法識別我的包文件。此外,我有大約20個.properties文件,其中包含字符串。我真的需要以編程方式添加所有這些嗎?

<f:loadBundle basename="strings.strings"> Can't find bundle for base name strings.strings, locale en_US 

在我的主要方法,我有:

deployment.addAsWebResource(
      new ClassLoaderAsset("strings/strings.properties", Main.class.getClassLoader()), "strings.strings"); 

回答

0

我有同樣的問題,我的資源文件夾束。當我把它注射到豆和做從網頁行動找到它,並顯示消息,但在requried字段爲空所有的失敗,我得到消息

java.util.MissingResourceException: Can't find bundle for base name messages, locale en 
    at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564) 
    at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387) 
    at java.util.ResourceBundle.getBundle(ResourceBundle.java:1082) 
    at javax.faces.component.MessageFactory.getMessage(MessageFactory.java:161) 
    at javax.faces.component.MessageFactory.getMessage(MessageFactory.java:251) 
    at javax.faces.component.UIInput.validateValue(UIInput.java:1149) 
    at javax.faces.component.UIInput.validate(UIInput.java:982) 



@ManagedProperty("#{i18n}") 
     private ResourceBundle bundle = null; 

    public String loginUser() { 
     FacesContext context = FacesContext.getCurrentInstance(); 
     ExternalContext ex = context.getExternalContext();  

     FacesMessage msg = new FacesMessage(bundle.getString("nouser"), bundle.getString("nouser")); 
     FacesContext.getCurrentInstance().addMessage(null, msg); 
     return 
+0

這是錯誤的'@ManagedProperty(「#{} I18N」) ' – Ced