JSP i18n With Scriplets

If your application has a user interface, it contains many locale-specific objects. To get started, you should go through your source code and look for objects that vary with Locale. Your list might include objects instantiated from the following classes:

  • String
  • Image
  • Color
  • AudioClip

You’ll notice that this list doesn’t contain objects representing numbers, dates, times, or currencies. The display format of these objects varies with Locale, but the objects themselves do not. For example, you format a Date according to Locale, but you use the same Date object regardless of Locale. Instead of isolating these objects in a ResourceBundle, you format them with special locale-sensitive formatting classes.

In general, the objects stored in a ResourceBundle are predefined and ship with the product. These objects are not modified while the program is running.

Step 1 Create New Dynamic Web Project

Step 1.1 Create New Project

Go to File->New->Others… Select Dynamic Web Project under Web category then click Next. Type JspDemo or whatever name you want in the Project name field.

Step 1.2 Configure Target Runtime

  • Click New Runtime… button under Target Runtime.
  • Select Apache Tomcat v7.0. Click Next.
  • Click Browse button to specify Tomcat Server installation directory. The select the folder then click Ok.
  • Click Installed JREs… button to add/remove or edit JRE definition. Remove existing one; then click Add button to configure new one. Select Standard VM; then click Next. Click Directory button to select the root folder of JDK installation. Select the folder then click Ok. Click Finish.
  • Check the JDK then click Ok.
  • Change JRE to the JDK then click Finish.
  • Click Finish the finish the project creation.

Step 2  Create Properties Files

  • Right click to the project or src folder; select New -> Package
  • Enter info.java.tips.i18n in Name field.
  • Click Finish.

Under the package, create 2 properties files by right click to the package; select New -> Other…; select File under General category.

Step 2.1 MessageBundle_en.properties

This file is used to contain English messages that’ll be displayed in JSP pages.

Step 2.2 MessageBundle_fr.properties

This file is used to contain French messages that’ll be displayed in JSP pages.

Step 3  Create New JSP File

  • Right click to the project or WebContent folder, select New -> JSP File from the menu.
  • You can choose any name, for example i18nDemo.jsp
  • Click Finish.
  • Eclipse IDE will generate some boilerplate code. We just clear all its content and replace with the following code:

Step 4 Clean & Build

Clean & build the project to clean old classes file (if any) & force the IDE to recompile java code.

  • Go to Project on menu bar; select Clean…
  • Select Clean all projects (default)
  • Click Ok to proceed clean & build.

Step 5 Configure Tomcat

Select Servers window; in case it’s not there, go to Windows -> Show View-> Others… Select Server -> Servers; then click Ok.

If this is the first time you are creating a server, in the Servers area you will see a link as No servers are available click this link to create a new server. Click the link.

Define a New Server window will be opened, In Select the server type. Select Apache -> Tomcat v7.0 Server. Then click Finish.

Step 6 Deploy The Application

  • Right click to the Tomcat Server select Add and Remove.
  • Move the application (JSPDemo) from Available column to Configured. Then click on Finish to deploy it to tomcat server.

Step 7 Start Tomcat Server

Right click on the tomcat server and choose Start or simply click on the green start icon to start the server.

Step 8 Run The JSP

We assume that you install tomcat on default port (8080) and project name is JSPDemo. Open web browser and type:

Output

http://localhost:8080/JspDemo/i18nDemo.jsp?lang=en

http://localhost:8080/JspDemo/i18nDemo.jsp?lang=fr

Note: for JSP, you don’t need to Clean & Build the project or restart the tomcat server before running. You just change the code, save the changes and run.

For java classes, you need to Clean & Build the project to re-compile the code. In case register new servlet, change settings in web.xml or server.xml… you need to Clean & Build the project and restart tomcat server.