当前所在位置: 首页 > 论文范文 > 正文

关于Struts中文问题的解决方法

3 次下载 2 页 4390 字【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

关于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 &&

阅读全文