我在本地文件系統中有一個屬性文件。 我已經使用了一個XHTML文件來創建一個UI。 在這個文件中,我已經硬編碼了UI元素的名稱。是否有任何方法從屬性文件中獲取這些名稱?從XHTML文件中的屬性文件中獲取值
-2
A
回答
0
有幾個選項,假設你有在以下位置messages.properties
src
main
java
resources
com
example
messages.properties
您可以使用在faces-config.xml
的resource-bundle
標籤,使其應用廣泛
<application>
<locale-config>
<default-locale>en</default-locale>
<supported-locale>fr</supported-locale>
</locale-config>
<resource-bundle>
<baseName>com.example.messages</baseName>
<var>msgs</var>
</resource-bundle>
</application>
然後它可以在你的XHTML中像這樣訪問(注意使用語言環境可以讓你選擇擁有messages_fr.properties)
<f:view locale="en">
#{msgs.keyName}
</f:view>
<f:view locale="fr">
#{msgs.keyName}
</f:view>
您還可以使用<f:loadBundle>
<f:view locale="en">
<f:loadBundle baseName="com.example.messages" var="msgs" />
#{msgs.keyName}
</f:view>
<f:view locale="fr">
<f:loadBundle baseName="com.example.messages" var="msgs" />
#{msgs.keyName}
</f:view>
如果你需要的資源包是外部的一種方式可能是下面的方法。
設置絕對路徑的包在你的web.xml
<context-param>
<param-name>bundlePath</param-name>
<param-value>absolute path to your properties file</param-value>
</context-param>
創建自己的ResourceBundle類
package com.example;
import java.io.FileReader;
import java.util.Enumeration;
import java.util.ResourceBundle;
import java.util.PropertyResourceBundle;
import javax.faces.context.FacesContext;
public class MyBundle extends ResourceBundle {
public MyBundle() throws FileNotFoundException {
String configPath = FacesContext.getCurrentInstance().getExternalContext().getInitParameter("bundlePath")
setParent(new PropertyResourceBundle(new FileReader(configPath)));
}
@Override
public Object handleGetObject(String key) {
return parent.getObject(key);
}
@Override
public Enumeration<String> getKeys() {
return parent.getKeys();
}
}
在faces-config.xml
註冊它按通常
<resource-bundle>
<bundleName>com.example.MyBundle</bundleName>
<var>msgs</var>
</resource-bundle>
相關問題
- 1. Java:從屬性文件獲取值
- 2. 從屬性文件獲取布爾值
- 3. 從文件中獲取擴展屬性
- 4. 在Javascript中從屬性文件中獲取值
- 5. 從GWT中的屬性文件獲取密鑰的值
- 6. Spring 3.0 EL如何從屬性文件中獲取屬性?
- 7. Spring從屬性文件中獲取枚舉值
- 8. 如何在Spring中從屬性文件獲取值
- 9. 從屬性文件中讀取hibernate註釋屬性值
- 10. 將屬性值獲取到XML文件
- 11. 從href標題的屬性文件中獲取文本
- 12. 如何讀取屬性文件並獲取wsdl文件中的值java
- 13. 在Java中獲取文件屬性
- 14. 獲取文件屬性
- 15. 從xml文件獲取屬性php
- 16. Python - 從常量文件獲取屬性
- 17. 如何從屬性文件讀取值?
- 18. java.lang.nullpointerexception從XML文檔中獲取屬性文件
- 19. 如何從JavaBean(域類)中的屬性文件中讀取值?
- 20. 從java中的兩個屬性文件中讀取值?
- 21. Tomcat \ bin文件夾中獲取java.util.MissingResourceException的屬性文件
- 22. 如何獲取Android資產文件夾中的文件屬性?
- 23. 從URL中讀取xml文件屬性
- 24. 從圖像文件中提取屬性
- 25. 從XML文件中提取屬性?
- 26. 從屬性文件讀取
- 27. Eclipse UML2:獲取配置文件中定義的屬性的值
- 28. 通過CSJS獲取屬性文件中的條目的值
- 29. 什麼是從Spring中的屬性文件中獲取值的最佳方法?
- 30. 從屬性中獲取屬性值
什麼「UI元素的名稱」是什麼?目前的答案假定國際化,它不是遠程看起來像「UI元素的名稱」。 – BalusC
鑑於他最近的問題http://stackoverflow.com/questions/39098719/properties-file-in-java談論ResourceBundles我認爲(也許希望)我的假設是正確的 – PDStat
UI元素的名稱意味着標籤 – vinayaka