Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Dummy needs explanation

 
Tontang Bei
Ranch Hand
Posts: 130
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
please explain to me how this flow of this internationalization example is working. The code works Allright but Im not being able to get my brain around it.
WEB-INF/classes/resource. The resource directory has 2 Properties file. One is called application.properties and has the code index.title=Welcome within it and the other is called application_de.properties and has the code index.title=Wilkommen.
(If your browser is set to English it say welcome else if its German it say Wilkommen)

In struts-config.xml, I added the line:
<message-resource parameter="resource.application" />

Below is the code for the JSP that displays it

<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html:html locale="true">
<head>
<html:base/>
<title>
<bean:message key="index.title"/>
</title>
</head>
<body>
<h2><bean:message key="index.title"/></h2>
<% out.println(request.getHeader("User-Agent")); %>
</body>
</html:html>

My question is, how is that this JSP page not knowing anything about the two application files being able to work properly? What does struts-config do to help? Im a complete newbie and this is my first Struts code so please excuse if I asked a silly question. Would like any and all explanations.
 
Mahesh Desai
Ranch Hand
Posts: 76
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To implement i18n in struts app, we need to maintain multiple properties file for each language and those needs to be placed in classpath i.e. WEB-INF/classes/resource for your case. The _de suffix indicates the German locale. We need to configure default resource bundle entry in struts-config.xml file i.e. <message-resources parameter="resource.application"/>. We only need to add the default resource file to struts-config.xml. When we change the locale, the appropriate resource file (application_de.properties) will be looked up automatically.

The Struts tag <html:html locale="true"> reads the "Accept-Language" header sent by the browser, and set up a Locale object in user's session if it is not already there.


Hope this help!

Thanks,
Mahesh

---------
SCJP 1.4 | SCWCD 1.4 | SCBCD 1.3 | SCEA Part I - In Progress
 
Nyanas Kandhan
Ranch Hand
Posts: 35
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
For an example on Struts internationalization you can refer here.

Struts I18N using locale.
Struts Internationalization using browser settings.

regards
Struts Developer
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic