亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

Struts中文問題怎么解決

時間:2024-09-09 12:07:14 SUN認證 我要投稿
  • 相關推薦

Struts中文問題怎么解決

  碰到struts中文問題時,JSP頁面上仍然顯示的是亂碼,下面方法在windows的weblogic8下,和unix的weblogic8下均正確顯示漢字。一起來看看吧!

  以下是代碼內容:

  首先是JSP頁面的內容,最簡化的一個form

  TestItem English :

  TestItem Chinese :

  注意,頁面的字符集一定要定義成gb2312,否則顯示不了正確的漢字了,代碼上半部的logic:iterate 標簽是 action 處理完畢后,返回給頁面顯示的。至于form提交的部分,由struts機制去做了,我只把 testitem_config 這個 action 的原代碼給出,大家就看明白了:

  public class TestItemConfigAction extends Action {

  public ActionForward execute(ActionMapping mapping, ActionForm form,

  HttpServletRequest request, HttpServletResponse response)throws Exception {

  TestItemConfigForm pcForm = (TestItemConfigForm)form;

  String[] entryIndexArray = pcForm.getEntrypro();

  String testPartKey;

  ArrayList testPartOptionsEn = new ArrayList();

  ArrayList testPartOptionsCn = new ArrayList();

  ServletContext context = getServlet()。getServletContext();

  String file = context.getRealPath(“/WEB-INF/classes/resource/TestItem.properties”);

  PropertiesFileOperate pOperate = new PropertiesFileOperate(file);

  Properties property = pOperate.getProperties();

  int testpartnum = Integer.parseInt(property.getProperty(“test.item.num”));

  if(pcForm.getOperateFlag() != null && !“”。equals(pcForm.getOperateFlag())) {

  if(Integer.parseInt(pcForm.getOperateFlag()) == 1 &&

  pcForm.getTestItemEn() != null && !“”。equals(pcForm.getTestItemEn())){

  String addKeyEn = “test.item.en.” + (testpartnum + 1);

  String addKeyCn = “test.item.cn.” + (testpartnum + 1);

  String addValueEn = pcForm.getTestItemEn()。trim();

  String addValueCn = pcForm.getTestItemCn()。trim();

  String addValueCnWirite = new String(addValueCn.getBytes(“ISO-8859-1”));

  pOperate.modifyProperties(“test.item.num”, (testpartnum + 1) + “”);

  pOperate.addProperties(addKeyEn, addValueEn);

  pOperate.addProperties(addKeyCn, addValueCnWirite);

  pOperate.saveFile();

  pOperate = null;

  }

  if(Integer.parseInt(pcForm.getOperateFlag()) == 2 &&

  pcForm.getTestItemEn() != null && !“”。equals(pcForm.getTestItemEn())){

  int entryIndex = Integer.parseInt(pcForm.getTestItemIndex()。trim());

  String addKeyEn = “test.item.en.” + entryIndex;

  String addKeyCn = “test.item.cn.” + entryIndex;

  String addValueEn = pcForm.getTestItemEn()。trim();

  String addValueCn = pcForm.getTestItemCn()。trim();

  String addValueCnWirite = new String(addValueCn.getBytes(“ISO-8859-1”));

  pOperate.modifyProperties(addKeyEn, addValueEn);

  pOperate.modifyProperties(addKeyCn, addValueCnWirite);

  pOperate.saveFile();

  pOperate = null;

  }

  if(Integer.parseInt(pcForm.getOperateFlag()) == 3){

  for(int i = 0; i 《 entryIndexArray.length; i++){

  String indexEntry = (entryIndexArray[i]。substring(1, entryIndexArray[i]。indexOf(“,”)))。trim();

  String addKeyEn = “test.item.en.” + indexEntry;

  String addKeyCn = “test.item.cn.” + indexEntry;

  pOperate.modifyProperties(addKeyEn, “”);

  pOperate.modifyProperties(addKeyCn, “”);

  }

  pOperate.saveFile();

  pOperate = null;

  }

  }

  PropertiesFileOperate pOperateShow = new PropertiesFileOperate(file);

  Properties propertyShow = pOperateShow.getProperties();

  int testpartNumber = Integer.parseInt(propertyShow.getProperty(“test.item.num”));

  ArrayList array = new ArrayList();

  for(int i = 1; i 《= testpartNumber; i++){

  ArrayList arr = new ArrayList();

  testPartKey = “test.item.en.”+i;

  if (propertyShow.getProperty(testPartKey) != null &&

  !“”。equals(propertyShow.getProperty(testPartKey))){

  arr.add(i+“”);

  testPartOptionsEn.add(propertyShow.getProperty(testPartKey));

  arr.add(propertyShow.getProperty(testPartKey));

  testPartKey = “test.item.cn.”+i;

  testPartOptionsCn.add(new String(propertyShow.getProperty(testPartKey)。getBytes(),“gb2312”));

  arr.add(propertyShow.getProperty(testPartKey));

  array.add(arr);

  }

  }

  request.setAttribute(“box”,array);

  pcForm.reset(mapping, request);

  return mapping.findForward(“testitemone”);

  }

  }

  這個 action 并不復雜, 首先它定義了一個 properties 文件 TestItem.properties,在web服務器下的/WEB-INF/classes/resource/下面,用來記錄頁面上輸入的內容,由于 String addValueCnWirite = new String(addValueCn.getBytes(“ISO-8859-1”)) 這個語句進行了字符轉換,所以 properties 文件中記錄的內容大概都是這樣子的:

  test.item.cn.29=\u7F1D\u9699\u5F02\u5E38

  如果把程序改成記錄到數據庫中,也應該是這個樣子,屬于Unicode編碼吧。

  而當要把記錄的內容輸出到客戶端時候,new String(propertyShow.getProperty(testPartKey)。getBytes(),“gb2312”)) 這個語句又把Unicode編碼轉換成了GB2312,所以要求JSP頁面charset=gb2312,這樣在windows 和 unix兩個系統下都可以正常顯示中文了,絕對沒有問題。

【Struts中文問題怎么解決】相關文章:

關于Struts中文問題的解決方法01-08

怎么解決關鍵詞排名問題03-03

怎么解決外網不能訪問IIS的問題03-30

班組長常見問題怎么解決03-18

怎么解決Word文檔中文字下有紅色或綠色波浪線11-29

解決寶寶睡覺問題03-21

基于解決問題的學習03-21

解決電腦變慢問題的方法03-19

如何解決頭皮問題03-18

主站蜘蛛池模板: 欧美xxxx做受欧美.88| 97香蕉碰碰人妻国产欧美| 久久亚洲精品国产精品婷婷| 日韩新无码精品毛片| 元江| 欧美全免费aaaaaa特黄在线| 亚洲精品久久久久久偷窥| 性欧美大战久久久久久久| www.男人的天堂| 久久这里只有精品2| 怡红院精品久久久久久久高清| 亚洲精品乱码久久久久久自慰| 国产免费黄| 大又大又粗又硬又爽少妇毛片| 制服丝袜人妻中文字幕在线| 国产福利在线免费观看| 日本精品高清一区二区| 国产成av人片在线观看天堂无码| 久久国产精品福利一区二区三区 | 色老大久久综合网天天| 色丁香婷婷综合久久| 天峨县| 97人妻碰碰碰久久久久禁片| 波多野吉衣av无码| 三上悠亚久久精品| 高潮呻吟国产在线播放| 国产精品久久精品三级| 女性裸体啪啪拍无遮挡的网站| 日本做受高潮好舒服视频| 波多野结衣中文字幕久久| 成人无码区在线观看| 欧美日韩国产免费一区二区三区| 成年无码av片在线蜜芽| 97中文字幕在线| 日韩欧美在线综合网| 国产suv精品一区二区883| 欧美特黄一级大黄录像| 亚洲成av人片不卡无码手机版| 全球成人中文在线| 国产在线观看免费人成视频| 国产精品亚洲片在线观看不卡|