<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>welcome to hello jsp</title> </head> <body> <p><font size=7>Welcome to helloApp</font></p> <p><a href="WelcomeLogin.jsp?language=English">English Page</a></p> <p><a href="WelcomeLogin.jsp?language=Chinese">Chinese Page</a></p> </body> </html>

分別為中文和英文的Properties的文件
hello.title=helloapp hello.hi=Nice to meet you login.title=helloapp login.user=Username login.password=Password login.submit=Submit
hello.title=helloapp hello.hi=你好 login.title=helloapp的登錄頁面 login.user=用戶名 login.password= 密碼 login.submit=登錄
用于加載中英文靜態文本的Servelt類
package Tag1; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Properties; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { init(); PrintWriter pw =response.getWriter(); pw.println("The resouce file is reloaded"); } public void init() throws ServletException { Properties ps =new Properties(); Properties ps_ch=new Properties(); ServletContext context =getServletContext(); InputStream in=context.getResourceAsStream("/WEB-INF/message.properties"); InputStream in_ch=context.getResourceAsStream("/WEB-INF/message_ch.properties"); try { ps.load(in); ps_ch.load(in_ch); in.close(); in_ch.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } context.setAttribute("ps", ps); context.setAttribute("ps_ch", ps_ch); } }
一個標簽處理類
package Tag1; import java.util.Properties; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class MessageTag extends TagSupport { private String key =null; public String getKey() { return key; } public void setKey(String key) { this.key = key; } @Override public int doEndTag() throws JspException { try{ Properties ps =(Properties)pageContext.getAttribute("ps", pageContext.APPLICATION_SCOPE); Properties ps_ch=(Properties)pageContext.getAttribute("ps_ch", pageContext.APPLICATION_SCOPE); HttpSession session=pageContext.getSession(); String language=(String)session.getAttribute("language"); String message=null; if(language!=null&&language.equals("Chinese")){ message =(String)ps_ch.get(key); message=new String(message.getBytes("ISO-8859-1"),"UTF-8"); }else{ message=(String)ps.get(key); } pageContext.getOut().println(message); }catch(Exception e){ e.printStackTrace(); } return EVAL_PAGE; } }
一個標簽庫
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> <taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>MyTag</short-name> <uri>/MyTag</uri> <tag> <name>MyTag</name> <tag-class>Tag1.MessageTag</tag-class> <body-content>empty</body-content> <attribute> <name>key</name> <required>true</required> </attribute> </tag> </taglib>
根據選擇 顯示不同語言的JSP頁面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/MyTag.tld" prefix="cc"%> <html> <% String language=request.getParameter("language"); if(language==null) language="English"; session.setAttribute("language",language); %> <head> <title><cc:MyTag key="login.title"/></title> </head> <body> <br> <form name="LoginForm" method="post" action="Welcomout.jsp"> <cc:MyTag key="login.user"/>:<br> <input type="text" name="username"><br> <cc:MyTag key="login.password"/>:<br> <input type="password" name="password"/><br> <input type="submit" value="<cc:MyTag key="login.submit"/>"/><br/> </form> </body> </html>
web.xml配置信息:
<jsp-config> <taglib> <taglib-uri>/WEB-INF/MyTag.tld</taglib-uri> <taglib-location>/WEB-INF/MyTag.tld</taglib-location> </taglib> </jsp-config>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
