µ±Ç°Î»ÖãºÊ×Ò³ > ÍøÂç±à³Ì > WEB±à³Ì > JSP > ÓÃSTRUTSʵÏÖ¹ú¼Ê»¯

ÓÃSTRUTSʵÏÖ¹ú¼Ê»¯

µã»÷´ÎÊý£º36 ´Î ·¢²¼ÈÕÆÚ£º2008-11-22 13:32:57 ×÷ÕߣºÔ´´úÂëÍø
Ô´´úÂëÍøÍÆ¼ö

Ò»£®JSPÒ³Ãæ²¿·Ö

1. Ò³ÃæÎÄ×Ö´¦Àí

1.1¸ÅÊö

ÓÉÓÚSTRUTSÌṩÁ˺ܺõĹú¼Ê»¯µÄÖ§³Ö£¬Òò´ËJSPÒ³Ãæ¿ÉÒÔSTRUTSµÄÕâÒ»ÌØÐÔ×öµ½¹ú¼Ê»¯¡£

STRUTSÔÊÐí½«²»Í¬ÓïÑÔµÄÎÄ×ÖдÔÚ¶à¸ö×ÊÔ´ÎļþÖУ¬Ã¿¸ö×ÊÔ´¶ÔÓ¦Ò»ÖÖÓïÑÔ£¬¶øÔÚJSPÒ³ÃæÉÏÔòͨ¹ýSTRUTS±êÇ©À´ÏÔʾÎÄ×Ö£¬¸Ã±êÇ©¿ÉÒÔ¸ù¾Ýä¯ÀÀÆ÷µÄµ±Ç°ÓïÑÔÉèÖÃÈ·¶¨´Ó¶ÔÓ¦µÄÓïÖÖ×ÊÔ´ÎļþÖÐÈ¡³ö×Ö·û´®£¬ÏÔʾÔÚÒ³ÃæÉÏ¡£

1.2×ÊÔ´Îļþ

ʵÏÖ¹ú¼Ê»¯£¬Ê×ÏÈÐèҪ׼±¸ºÃ×ÊÔ´Îļþ£¬ÐèÒªÖ§³ÖµÄÓïÑÔ¸÷¶ÔÓ¦Ò»¸ö¡£×ÊÔ´ÎļþÒ»¶¨ÒªÓÃÖ§³Ö¶à¹úÓïÑÔÎÄ×ÖµÄÎı¾±à¼­Æ÷£¨ÈçWORD£¬Ò»¶¨²»ÄÜÓÃNOTEPAD¡¢UEµÈ£©±àд£¬Æä¸ñʽÈçÏ£º

# Project international

index.title=XXÐÅϢϵͳ

index.copyright=XXXÓÐÏÞ¹«Ë¾ °æÈ¨ËùÓÐ

ÆäÖÐÒÔ#¿ªÍ·µÄÐÐÊÇ×¢ÊÍ£¬ÆäËüµÄÐж¼ÊÇKEY=VALUEµÄÐÎʽ£¬¶¨ÒåÁËÒ»¸öKEY¶ÔÓ¦µ±Ç°ÓïÑÔϵÄÎÄ×Ö¡£±£´æ×ÊÔ´Îļþʱ£¬ÐèÒªÔÚÎļþÀàÐÍÑ¡ÏîÖÐÑ¡Ôñ´¿Îı¾ÀàÐÍ£¬±àÂëÑ¡ÔñÆäËü>>UTF-8£¬×¢Òâ×ÊÔ´ÎļþµÄÀ©Õ¹ÃûΪ.properties£¬ÎļþÃû¿ÉÒÔÈÎÒâÈ¡¡£

ÕâÑù±£´æµÄ×ÊÔ´Îļþ»¹²»ÄÜÖ±½Ó±»STRUTSʹÓã¬JDKÌṩÁËÒ»¸ö¹¤¾ßnative2ascii¶Ô±àдµÄ×ÊÔ´Îļþ½øÐÐת»»£¬¸Ã¹¤¾ßλÓÚ%JDK% /bin/Ŀ¼Ï£¬Ò»°ãÔÚJDKÕýÈ·°²×°ºó¿ÉÒÔÖ±½ÓÔÚÃüÁîÐÐʹÓá£Ê¹ÓÃnative2ascii¹¤¾ßת»»µÄ×ÊÔ´µÄÎļþµÄÃüÁîÐиñʽÈçÏ£º

native2ascii -encoding UTF-8 ApplicationResources.properties ApplicationResources_zh_CN.properties

ÆäÖÐ-encoding²ÎÊýÖ¸Ã÷±àдµÄ×ÊÔ´ÎļþµÄ±àÂë¸ñʽ£¬ÕâÀï±ØÐëÓë±à¼­Ê±Ñ¡Ôñ±£´æµÄ±àÂë¸ñʽһÖ£¬ºóÃæÁ½¸ö²ÎÊý·Ö±ðÊÇÐèҪת»»µÄ×ÊÔ´ÎļþÃûºÍת»»ºó±£´æµÄ×ÊÔ´ÎļþÃû¡£

ת»»ºóµÄ×ÊÔ´ÎļþÃû¶¼±ØÐëÒÔÒ»¸öÌØ¶¨µÄǰ꡿ªÍ·£¬¸Ãǰê¡Ð´ÔÚstruts-config.xmlÅäÖÃÖУ¬ºóê¡ÊǶÔÓ¦ÓïÑԵļò³Æ£¬Èç

Ó¢ÎÄ(ÃÀ¹ú) ApplicationResources _en_US.properties

ÖÐÎÄ£¨¼òÌ壩ApplicationResources _zh_CN.properties

ÖÐÎÄ£¨·±Ì壩ApplicationResources _tw.properties

Ì©Óï ApplicationResources _th.properties

×ÊÔ´ÎļþµÄ´æ·ÅĿ¼¿ÉÒÔÊÇ/WEB-INF/classes/ϵÄÈÎÒâĿ¼£¬ÎªÁ˱ãÓÚ¹ÜÀí £¬½¨ÒéÔÚ/WEB-INF/ classes/Ͻ¨Á¢Ä¿Â¼resources£¬½«ËùÓеÄ×ÊÔ´Îļþ¶¼·ÅÔÚ¸ÃĿ¼Ï¡£STRUTSͨ¹ýÅäÖÃÎļþstruts-config.xmlÅäÖÃ×ÊÔ´ÎļþµÄËùÔÚλÖã¬È磺

ÆäÖÐĿ¼ÒÔ°üµÄ·½Ê½±íʾ¡£

1.3 JSPÒ³ÃæÏÔʾ

ΪÁËÖ§³Ö¹ú¼Ê»¯£¬JSPÒ³ÃæµÄ±àÂ뷽ʽÐèÒªÉè³ÉUTF-8£¬¼´ÔÚÒ³ÃæµÄÍ·²¿¼ÓÈëÒÔϼ¸ÐУº

<%@ page contentType="text/html; charset=UTF-8" %>

¡­¡­£¨STRUTS¼°ÆäËü±êÇ©¿âÒýÓã©

JSPÒ³ÃæµÄÖÐÎÄ×ÖҪȫ²¿Ð´µ½×ÊÔ´ÎļþÖУ¬×¢ÒâÿÖÖÓïÑÔ×ÊÔ´Îļþ¶¼ÒªÐ´µ½£¬·ñÔòÔÚʹÓÃijÖÖÓïÑÔ·ÃÎÊϵͳʱ¿ÉÄܻᱨ´í¡£JSPÖÐʹÓÃSTRUTS±êÇ©ÏÔʾ×ÊÔ´ÎļþÖж¨ÒåµÄ×Ö·û´®¡£ÕâÑùµ±¸Ä±ää¯ÀÀÆ÷µÄµ±Ç°ÓïÑÔºó£¬Ò³Ãæ»á×Ô¶¯È¡µÃÓëä¯ÀÀÆ÷µ±Ç°ÓïÑÔ¶ÔÓ¦µÄ×ÊÔ´ÎļþÖеÄ×Ö·û´®ÏÔʾÔÚÒ³ÃæÉÏ¡£

¶ÔÓÚÔÚACTIONµÄJAVA´úÂëÖÐÖ±½ÓÉèÖõıäÁ¿£¬ÈçÐèÒªÔÚJSPÒ³ÃæÉϽøÐÐÏÔʾ£¬ÄÇôÔÚÉèÖñäÁ¿Ê±Ò²ÐèÒª´Ó×ÊÔ´ÎļþÖÐͨ¹ýKEYÈ¡µ½µ±Ç°ÓïÑÔµÄ×Ö·û´®£¬ÔÙʹÓÃrequest.setAttribute·½·¨½øÐÐÉèÖã¬ÕâÑùÔÚJSPÒ³ÃæÉÏʹÓñêǩչÏÖÉèÖõıäÁ¿²Å»á¶ÔÓ¦²»Í¬µÄÓïÑÔ»á³ÊÏÖ²»Í¬µÄ×Ö·û´®¡£

ÔÚJAVA´úÂëÖÐÈ¡×ÊÔ´ÎļþµÄÐÅÏ¢µÄ·½·¨ÊÇ£¬Ê×ÏÈͨ¹ýGlobals.MESSAGES_KEY´Órequest»òsession±äÁ¿ÖÐÈ¡µÃ×ÊÔ´¶ÔÏó£¨MessageResources£©£¬ÔÙµ÷ÓÃMessageResources.getMessage·½·¨¼´¿ÉÈ¡µÃÏàÓ¦µÄ×Ö·û´®£¬¸Ã·½·¨ÐèµÄÁ½¸ö²ÎÊýÊǵ±Ç°ÓïÑÔÇøÓòÉèÖã¨Locale£©ºÍ×Ö·û´®µÄKEY£¬ÆäÖе±Ç°ÓïÑÔÇøÓòÉèÖã¨Locale£©±£´æÔÚSESSION±äÁ¿ÖУ¬Æä±äÁ¿ÃûΪ Globals.LOCALE_KEY£¬¸Ã±äÁ¿ÔÚÏÂÒ»½ÚÊÖ¹¤ÉèÖÃÓïÑÔʱҲÓÐÌáµ½¡£

1.4ÊÖ¹¤ÉèÖÃÏÔʾÓïÑÔ

ÓÃä¯ÀÀÆ÷µÄÓïÑÔÉèÖÃÀ´¾ö¶¨ÏµÍ³²ÉÓÃÄÄÖÖÓïÑÔÕ¹ÏÖ¿ÉÄÜ»á³öÏÖÒ»¸öÎÊÌ⣬¾ÍÊÇÓû§µÄä¯ÀÀÆ÷ÓïÑÔÓëËûÏëҪʹÓÃϵͳµÄÓïÑÔ²»Ò»ÖµÄÇé¿ö£¬Èçij¿Í»§ä¯ÀÀÆ÷µÄÓïÑÔÉèÖÃΪӢÎÄ£¬µ«Ëû»¹ÊÇÔÚʹÓÃÖ÷վϵͳʱ¿´µ½µÄÊÇÖÐÎĽçÃæ¡£¸ÃÎÊÌâ¿ÉÒÔͨ¹ýÊÖ¹¤Ñ¡ÔñÓïÑÔÀ´½â¾ö£¬ÔÚ³ÌÐòÖпÉÒÔͨ¹ýÉèÖÃÃûΪ Globals.LOCALE_KEY£¨Globals.LOCALE_KEY ÊÇ strutsµÄ³£Á¿£©µÄSESSION±äÁ¿£¬Ò²ÄܸıäϵͳÖе±Ç°ÓïÑÔµÄÉèÖ㬴úÂëÀàËÆÓÚ£º

Locale newLocale = new Locale( language, country );

session.setAttribute( Globals.LOCALE_KEY, newLocale );

ÆäÖбäÁ¿language, country ¿ÉÒÔͨ¹ýÓû§µÄÑ¡ÔñÉèÖÃÏàÓ¦µÄÖµ£¬¸÷ÖÖÓïÑԵĶÔÓ¦Öµ²Î¿¼http://www.unicode.org/unicode/onlinedat/countries.html¡£

2. ´øÓÐÎÄ×ÖµÄͼƬ´¦Àí

2.1¾²Ì¬Í¼Æ¬

´øÓÐÎÄ×ÖµÄͼƬӦ¸ÃÒ²Òª¸ù¾ÝÓïÑԵIJ»Í¬¶øÏÔʾ²»Í¬µÄͼƬ£¬µ«Í¼Æ¬±¾Éí²»ÊÇÎı¾ÐÅÏ¢£¬ÎÞ·¨Ö±½ÓÓñêÇ©À´Íê³É¹ú¼Ê»¯²Ù×÷¡£µ«ÓÉÓÚÒ³ÃæÉÏÏÔʾͼƬȡ¾öÓÚ±êÇ©µÄsrcÊôÐÔ£¬Òò´Ë¿ÉÒÔΪÿ¸öͼƬ¶ÔÓ¦¸÷ÖÖÓïÑԵͼ׼±¸Ò»¸ö°æ±¾£¬ÎļþÃû»ò·¾¶ÓÐËù²îÒ죬Ȼºó½«Ã¿ÖÖÓïÑÔ¶ÔÓ¦µÄͼƬµÄ·¾¶¼°ÎļþÃû·ÅÔÚ×ÊÔ´ÎļþÖУ¬¶øÔÚJSPÒ³ÃæÉϱêÇ©µÄsrcÊôÐÔÓɱêǩָ¶¨£¬ÕâÑù¼´¿ÉÒÔÍê³ÉͼƬµÄ¹ú¼Ê»¯¡£

2.2 JAVAÉú³É¶¯Ì¬Í¼Æ¬

ÓÉÓÚÉú³É¶¯Ì¬Í¼Æ¬ÊÇÔÚ·þÎñÆ÷¶Ë½øÐУ¬Òò´ËͬÑùÐèÒª½«Éú³ÉͼÐÎ×Ö·ûµÄ¾²Ì¬²¿·Ö·ÅÔÚ×ÊÔ´ÎļþÖУ¬ÈçͼÐÎÃû³ÆµÈ£¬´Ó×ÊÔ´ÎļþÖÐÈ¡×Ö·û´®µÄ·½·¨ÔÚJSPÒ³ÃæÏÔʾ²¿·ÖÒÑÓÐ˵Ã÷£»´ÓÊý¾Ý¿âÖÐÈ¡³öµÄ²¿·Ö¿ÉÒÔ²»ÓÃ×öÈκδ¦Àí£¬Ö±½Ó´ÓÊý¾Ý¿âÈ¡³öÓ뾲̬²¿·ÖÆ´×°³ÉͼÐÎ×Ö·û´®¼´¿É£¬Êý¾Ý¿âÏà¹ØÉèÖÃÔÚÊý¾Ý¿â²¿·ÖÓÐÏêϸ˵Ã÷¡£

3. Ò³ÃæÌá½»²ÎÊý´¦Àí

Ò³ÃæÉÏÏòWEB·þÎñÆ÷Ìá½»²ÎÊýÓÐÁ½ÖÖ·½Ê½£¬Ò»ÊÇÔÚ·ÃÎÊURLºóÃæ¸½¼ÓÉÏrequest±äÁ¿£¬ÕâÑùµÄ±äÁ¿ÔÚ·þÎñÆ÷¶Ë¿ÉÒÔͨ¹ý request.getParameter·½·¨µÃµ½£¬ÁíÒ»ÖÖ·½Ê½ÊÇÔÚJSPÒ³ÃæÉÏÓÃFORM±íµ¥·½Ê½Ìá½»£¬ÕâÖÖ·½·¨Ìá½»µÄ±äÁ¿ÔÚ·þÎñÆ÷¶Ë¿ÉÒÔͨ¹ýform µÄgetXXX·½·¨È¡µ½±äÁ¿µÄÖµ¡£

µ±WEBϵͳÐèÒª¹ú¼Ê»¯Ê±£¬JSPÒ³ÃæµÄ±àÂ뷽ʽ±»Ö¸¶¨ÎªUTF-8£¨Ç°ÃæÒÑÓÐ˵Ã÷£©£¬Ò²¾ÍÊÇËµÒ³ÃæÉÏ¿ÉÒÔ´¦Àí¸÷¹úÎÄ×Ö£¬ÔÚʹÓÃURL´«µÝ±äÁ¿Ê±ÐèÒª½«±äÁ¿ÓÃJS·½·¨encodeURI·½·¨´¦Àí¹ý£¬²ÅÄÜÔÚ·þÎñÆ÷¶ËµÃµ½ÕýÈ·µÄÖµ£¬Èç

location.href="int/do/common/queryUserInfo.do?sqlcode=QUERY0001&hh="+encodeURI(document.all.hh.value)+"&hm="+encodeURI(document.all.hm.value)+"&bmbh="+encodeURI(document.all.bmbh.value);

ÓÉÓÚÕâÖÖ·½Ê½ÐèÒª¶Ôÿ¸örequest±äÁ¿µ÷ÓÃencodeURI·½·¨£¬´¦ÀíÆðÀ´±È½ÏÂé·³£¬µ«ÓÃFORM±íµ¥Ìá½»µÄ·½Ê½¼´²»ÐèÒª½øÐÐÈκδ¦Àí£¬Òò´ËÔÚ¿ª·¢Ê±Ó¦¾¡Á¿Ê¹ÓÃFORM±íµ¥Ìá½»µÄ·½Ê½½øÐÐÊý¾Ý´«µÝ¡£

Èç¹ûÐèÒªJAVA´úÂëÖÐÉú³ÉURL£¬ÔòÆäÖд«µÝµÄ²ÎÊýÒ²ÐèÒªµ÷ÓÃURLEncoder.encode·½·¨½øÐд¦Àí£¬²¢Ö¸¶¨±àÂ뷽ʽΪ"UTF-8"¡£

ÔÚ·þÎñÆ÷¶ËÈ¡µÃ¿Í»§¶Ë´«µÝµÄ²ÎÊýʱҲÐèÒª¶Ô²ÎÊý½øÐÐ×Ö·û¼¯µÄת»»ºó²Å¿ÉÒÔÏÂȷʹÓã¬Èç

strString = new String(strString.getBytes("ISO-8859-1"), "GBK")£»

µ«Èç´Ë¶Ôÿ¸ö±äÁ¿¶¼ÐèÒªÕâÑù´¦ÀíÒ²ÊǷdz£Âé·³£¬Êµ¼ÊÉÏ¿ÉÒÔÀûÓÃservletµÄFilter»úÖÆ½øÐÐͳһ´¦Àí¡£ÔÚµ÷ÓÃservlet£¨°üÀ¨struts£©Ê±£¬ÔÚµ½´ïʵ¼ÊµÄservletÀàǰ£¬»áÊ×Ïȵ÷ÓÃÖ¸¶¨µÄFilter½øÐд¦Àí£¬Filter´¦ÀíÍê³ÉºóÔÙ¾ö¶¨ÊÇ·ñ½»¸øÊµ¼ÊÇëÇóµÄservletÀà´¦Àí¡£

ÀûÓÃÕâÒ»µã£¬ÎÒÃÇ¿ÉÒÔн¨Ò»¸öÀà¼Ì³Ð×ÔFilter»ùÀà£¬ÖØÔØdoFilter·½·¨£¬²¢Ôڸ÷½·¨ÖмÓÈë

request.setCharacterEncoding(¡°UTF-8¡±);

Ö¸¶¨¿Í»§¶ËµÄ×Ö·û¼¯ÎªUTF-8£¨Ä¬ÈϿͻ§¶ËµÄ×Ö·û¼¯ÎªISO8859£©£¬ÕâÑùÔÚACTIONÀàÖÐÈ¡µÃµÄ²ÎÊý¾Í²»ÐèÒª½øÐÐÈκεÄת»»´¦ÀíÁË¡£

ÅäÖÃFilterµÄµØ·½ÔÚweb.xml£¬ÔÚweb.xmlÎļþÖмÓÈëÀàËÆÕâÑùµÄÅäÖü´¿ÉÒÔʹ×Ô¶¨ÒåµÄFilterÉúЧ£º

charsetfilter

international.CharsetFilter

encoding UTF-8

charsetfilter

/*

¶þ£®Êý¾Ý¿âÉèÖÃ

ÔÚÊý¾Ý¿â½¨¿âʱÐèÒª½«Êý¾Ý¿âµÄ×Ö·û¼¯Ö¸¶¨Îªunicode±àÂëÀàÐÍ£¬ÒÔÖ§³Ö¶àÖÖÓïÑÔ¡£

Ô´´úÂëÍø¹©¸å.
ÍøÓÑÆÀÂÛ (0)
»áÔ±ÖÐÐÄ
ÍøÂç±à³Ì
±¾Õ¾ÍƼö
ÍøÂç±à³ÌÖ®¾«»ª