The Internationalization of Wicket is realized with many little Properties-Files in the same folders like there html-Files.
My architekture ist one Properties-File in the webapp-Folder or an other unique Folder.
My favorite Example: src/java/main/net/kog/WicketApplikation.java:
getResourceSettings().getResourceFinders().add(
new WebApplicationPath(getServletContext(), "resource"));
BundleStringResourceLoader bundle = new BundleStringResourceLoader("text.properties");
getResourceSettings().getStringResourceLoaders().add(bundle);
// Test
String str = bundle.loadStringResource(net.kog.resource.Text.class, "login.noscript", Locale.getDefault(), null, null);
System.out.println(str);
Markup:
<div wicket:id="login.noscript" id="js"/>
But whereever I locate the File text.properties the ResourceBundle not found, no String was returned. tried Locations:
请阅读http://wicket.apache.org/guide/guide/i18n.html ,以获取有关如何在应用程序中拆分或组合资源包的更多信息。
Third, I make the way to access my properties-File shorter, because I delete IsoPropertiesFilePropertiesLoader (ISO-8859 formated Properties-Files) and XmlFilePropertiesLoader in net.kog.WicketApplication.init(). Code:
List<IPropertiesLoader> propertiesLoader = ((PropertiesFactory)getResourceSettings().getPropertiesFactory()).getPropertiesLoaders(); getResourceSettings().getPropertiesFactory().clearCache(); propertiesLoader.clear(); propertiesLoader.add(new UtfPropertiesFilePropertiesLoader("properties", "utf-8"));
The full path of my UTF-8 properties-File is src/main/webapp/net/kog/WicketApplication.properties
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.