我现在的问题是我无法使用FacesMessage进行本地化
我试过了:
try {
ResourceBundle bundle = ResourceBundle.getBundle("translations", context.getViewRoot().getLocale());
text = bundle.getString("loginFail");
} catch (Exception e) {
System.out.println("EXCEPTION: " + e);
}
FacesContext.getCurrentInstance().addMessage("", new FacesMessage(text));
Run Code Online (Sandbox Code Playgroud)
但抛出以下异常
java.util.MissingResourceException: Can't find bundle for base name translations, locale cs
Run Code Online (Sandbox Code Playgroud)
faces-config.xml包含:
<application>
<locale-config>
<default-locale>cs</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
<resource-bundle>
<base-name>tr.translations</base-name>
<var>txt</var>
</resource-bundle>
<message-bundle>
tr.translations
</message-bundle>
</application>
Run Code Online (Sandbox Code Playgroud)
文件translations_cs.properties和translations_en.properties在tr包中,位置绝对可以.
你知道如何让它运作吗?提前致谢
今天我遇到了PrimeFaces FileUpload的问题.它运行良好,但文件存储在JBoss的临时目录中,所以每当我重新部署应用程序或只是将源提交到svn时,我上传的所有图像都消失了.所以我想问一下,是否有办法将图像保存到战争项目的"源"目录中.
我的handleFileUpload方法:
public String getUrlBase() {
return FacesContext.getCurrentInstance().getExternalContext().getRealPath("//upload");
}
public void handleFileUpload(FileUploadEvent event) {
new File(getUrlBase() + "/" + album.getId()).mkdirs();
File result = new File(getUrlBase() + "/" + album.getId() + "/" + event.getFile().getFileName());
try {
FileOutputStream fileOutputStream = new FileOutputStream(result);
byte[] buffer = new byte[BUFFER_SIZE];
int bulk;
InputStream inputStream = event.getFile().getInputstream();
while (true) {
bulk = inputStream.read(buffer);
if (bulk < 0) {
break;
}
fileOutputStream.write(buffer, 0, bulk);
fileOutputStream.flush();
}
fileOutputStream.close();
inputStream.close();
FacesMessage msg = new FacesMessage("Succesful",
event.getFile().getFileName() + " …
Run Code Online (Sandbox Code Playgroud)