2016-07-22 5 views
1

wildfly swarmでjsfアプリケーションを実行しようとしていますが、リソース管理に問題があります。 their githubページの状態で彼らの短い例:wildfly swarmでjsf文字列をロード

JSFは、非静的であるので、あなたは、このような deployment.addAsWebResource()などの方法で、シュリンクラップにXHTMLファイルを追加する必要があります。

私のバンドルファイルを認識させることができませんでした。さらに私は文字列を保持する約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

関連する問題