Najlepszy samouczek JSP Internacjonalizacja W 2024 r. W tym samouczku możesz dowiedzieć się Wykrywanie Locale,Przykłady Demo,Ustawienia języka,Regionalne konkretnych dat,waluty danego regionu,Pewien procent powierzchni,
Przed rozpoczęciem, trzeba wyjaśnić kilka ważnych pojęć:
Jeśli chcesz stworzyć globalną stronę internetową, trzeba obawiać się o wielu projektach. Ten rozdział pokaże Ci, w jaki sposób radzić sobie z problemami międzynarodowymi i podaje kilka przykładów, aby pogłębić zrozumienie.
kontener JSP może zażądać zgodnie z atrybutem locale aby zapewnić poprawną wersję strony. Dalej pokażemy, jak uzyskać Locale obiekt o składni Obiekt żądania:
java.util.Locale request.getLocale()
Poniższa tabela zawiera ważniejszego sposobu wykrywania żądania obiektu region, język i region Locale obiektu. Wszystkie te metody wyświetli nazwę kraju oraz nazwy języka w przeglądarce:
Nie. | Sposób i opis |
---|---|
1 | String getCountry () Back Country Kod regionu / obszaru kapitału, lub ISO 3166 w formacie 2-literowy |
2 | String getDisplayCountry () Zwraca nazwę kraju, które mają być wyświetlane użytkownikowi |
3 | String getLanguage () Zwraca kod języka angielskiego małymi literami lub regionalnych ISO 639 formatów |
4 | String getDisplayLanguage () Powrót dać użytkownikowi zobaczyć nazwę języku |
5 | String getISO3Country () Zwraca nazwę kraju trzyliterowy skrót |
6 | String getISO3Language () 3 zwraca inicjały nazwy języka |
Ten przykład pokazuje, w jaki sposób wyświetlać język i kraj w JSP:
<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <% //获取客户端本地化信息 Locale locale = request.getLocale(); String language = locale.getLanguage(); String country = locale.getCountry(); %> <html> <head> <title>Detecting Locale</title> </head> <body> <center> <h1>Detecting Locale</h1> </center> <p align="center"> <% out.println("Language : " + language + "<br />"); out.println("Country : " + country + "<br />"); %> </p> </body> </html>
JSP mogą być wykorzystane do produkcji stronę dla języków zachodnioeuropejskich, takich jak angielski, hiszpański, niemiecki, francuski, włoski i tak dalej. Tak więc, należy ustawić nagłówek Content-Language poprawnie wyświetla wszystkie znaki są bardzo ważne.
Druga sprawa jest taka, że trzeba używać znaku w języku HTML do wyświetlania znaków specjalnych, takich jak "& # 241;" reprezentuje "& # 161;" reprezentuje "?": "?"
<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <% // Set response content type response.setContentType("text/html"); // Set spanish language code. response.setHeader("Content-Language", "es"); String title = "En Espa?ol"; %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>En Espa?ol</p> <p>?Hola Mundo!</p> </div> </body> </html>
Można użyć klasy java.text.DateFormat i jego statycznych metod getDateTimeInstance (), aby data i godzina w formacie. Kolejny przykład pokazuje jak formatować zgodnie z określonym obszarze data i czas:
<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%@ page import="java.text.DateFormat,java.util.Date" %> <% String title = "Locale Specific Dates"; //Get the client's Locale Locale locale = request.getLocale( ); String date = DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.SHORT, locale).format(new Date( )); %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>Local Date: <% out.print(date); %></p> </div> </body> </html>
Można użyć klasy java.text.NumberFormat i jego statycznych metod getCurrencyInstance (), aby numery wielkoformatowych. Na przykład, w szczególnym obszarze długiego waluty i podwójnego typu. Poniższy przykład pokazuje jak formatować zgodnie z określonym obszarze walutowym:
<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%@ page import="java.text.NumberFormat,java.util.Date" %> <% String title = "Locale Specific Currency"; //Get the client's Locale Locale locale = request.getLocale( ); NumberFormat nft = NumberFormat.getCurrencyInstance(locale); String formattedCurr = nft.format(1000000); %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>Formatted Currency: <% out.print(formattedCurr); %></p> </div> </body> </html>
Można użyć klasy java.text.NumberFormat i jego statycznych metod getPercentInstance () do formatu procentach. Poniższy przykład pokazuje, jak formatować zgodnie z określonym procentem powierzchni:
<%@ page import="java.io.*,java.util.Locale" %> <%@ page import="javax.servlet.*,javax.servlet.http.* "%> <%@ page import="java.text.NumberFormat,java.util.Date" %> <% String title = "Locale Specific Percentage"; //Get the client's Locale Locale locale = request.getLocale( ); NumberFormat nft = NumberFormat.getPercentInstance(locale); String formattedPerc = nft.format(0.51); %> <html> <head> <title><% out.print(title); %></title> </head> <body> <center> <h1><% out.print(title); %></h1> </center> <div align="center"> <p>Formatted Percentage: <% out.print(formattedPerc); %></p> </div> </body> </html>