在做web前端页面的时候,经常碰到传中文问题。网上有许多方案,但仍不能根治,最终要用js或者java的encode相关方法。

常规方案有三部:

1.改tomcat的server.xml中URIEncodeing为utf-8

2.页面中编码设置为utf-8

3.整个项目编码使用utf-8

我这样处理后,在火狐下,不会出现乱码,但IE中奇数个中文时仍有乱码。不过可以通过在页面中用URLEncoder.encode()方法解决,但如果在jsp页面里用又显得繁琐且不美观。

索性自己写个自定义标签来处理

使用此方法就不会再出现IE奇数个汉字成乱码的问题了,不多说,上代码

EncodeTag.java

Java代码 packagemypackage.util;

importjava.io.IOException;

importjava.net.URLEncoder;

importjavax.servlet.jsp.JspException;

importjavax.servlet.jsp.JspWriter;

importjavax.servlet.jsp.tagext.TagSupport;

importorg.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;

publicclassEncodeTagextendsTagSupport {

privateObject key;//自定义标签的key属性

publicvoidsetKey(Object key)throwsJspException {

this.key=ExpressionEvaluatorManager.evaluate("key", key.toString(), Object.class,this, pageContext);

}

publicintdoEndTag() {

try{// 使用JspWriter获得JSP的输出对象

JspWriter jspWriterOutput = pageContext.getOut();

jspWriterOutput.write(URLEncoder.encode(key.toString(),"utf-8"));

} catch(IOException ioEx) {

System.out.println("IOException in HelloTag "+ ioEx);

}

returnEVAL_PAGE;

}

}

encode.tld(此文件需放在你的web项目的src目录下)

Xml代码 <?xmlversion ="1.0"encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"

version="2.0">

JSTL 1.1 core library

JSTL core

1.1

en

http://www.xxx.org/util/url/encode

urlEncode

mypackage.util.EncodeTag

empty

key

true

java.lang.Object

在jsp中头部引入

Java代码

在jsp中使用

Java代码 ">xxxx

jsp超链接到java文件,jsp页面超链接传中文终极解决办法相关推荐

  1. ios 其他 清理不了_微信文件已过期或被清理 | 终极解决办法

    工作中总是有同事习惯用微信传文件,当我们沿着微信对话爬楼找历史文件时,总会收到让人绝望的提醒:文件已过期或被清理. 微信文件已过期或被清理 如果这个文件很重要,还没有备份,那得多让人伤心. 这里有个抢 ...

  2. html超链接到index,HTML基础___超链接 第四天

    学习内容: 1.超链接的基本知识 2.超链接的建立 3.内部链接 4.书签链接 5.外部链接 1.超链接的基本知识 认清两个概念: __绝对路径:  是主页上的文件或目录在硬盘上的真正的路径. 绝对路 ...

  3. html插入精灵,帮助插入超链接到CSS精灵代码..Java? HTML?

    在CS5中使用内置的Javascript来完成滚动图像非常简单,但是,我需要基于CSS来执行此操作.帮助插入超链接到CSS精灵代码..Java? HTML? 我已经设法让代码工作和精灵都很好,但我似乎 ...

  4. jsp页面之间传中文参数显示乱码问题的解决

    jsp页面之间传中文参数显示乱码问题的解决 参考文章: (1)jsp页面之间传中文参数显示乱码问题的解决 (2)https://www.cnblogs.com/sllzhj/p/9673628.htm ...

  5. 将html连接到外部样式表文件,外部样式表文件通过( )标记链接到HTML文件中

    外部样式表文件通过( )标记链接到HTML文件中 更多相关问题 家长在婴儿(),时期开始训练婴儿自己刷牙为宜.A.半岁左右B.10岁左右C.3岁左右D.1岁半左右 在()中,汪家以汪文宣的死亡,婆婆带 ...

  6. 基于javaweb+jsp的酒店管理系统(java+SSM+jsp+mysql+maven)

    基于javaweb+jsp的酒店管理系统(java+SSM+jsp+mysql+maven) 主要技术:java springmvc mybatis mysql tomcat js jquery js ...

  7. idea中java项目显示不对_Intellj Idea中的maven工程Java文件颜色不对,未被识别的解决...

    Intellj Idea中的maven工程Java文件颜色不对,未被识别的解决,模块,工程,给大家,文件,灰色 Intellj Idea中的maven工程Java文件颜色不对,未被识别的解决 易采站长 ...

  8. java getparameter 乱码,request.getParameter()取值乱码解决办法

    当前位置:我的异常网» Java Web开发 » request.getParameter()取值乱码解决办法 request.getParameter()取值乱码解决办法 www.myexcepti ...

  9. ireport生成html横线多出,iReport4.5.1、Struts2.2.3生成Html文档时页面红叉叉的解决办法。...

    iReport4.5.1.Struts2.2.3生成Html文档时页面红叉叉的解决办法. 这些个小红叉叉甚的恼人! 解决方法如下: 而且后台报错: 提示找不到名字为px的action 警告: Coul ...

最新文章

  1. 28-Interview-面试
  2. python 字符串去除中文
  3. WIN5语音ic注意事项
  4. 项目初步验收需要检查事项
  5. 解决vs2010下不能创建项目及文件的问题
  6. 1041 Be Unique
  7. java 8中构建无限的stream
  8. 解决ueditor jquery javascript 取值问题
  9. 【 HDU - 5093】Battle ships(匈牙利算法,二分图匹配)
  10. 《Essential C++》笔记之关联容器set的使用总结
  11. 航模飞机设计基础知识
  12. 十三肝了2晚的《IDEA操作手册-终极秘籍》终于来了...
  13. matlab恒压频比,基于matlab的三相异步电机恒压频比调速仿真.doc
  14. 彻底卸载Android Studio
  15. php chm生成工具,phpDocumentor PHP 文档生成 CHM
  16. uC/OS II移植
  17. matlab fisher z变换,关于GCA统计
  18. 2.8 mm / 4 mm / 6 mm / 8 mm 焦距的镜头分别能监控多大范围?
  19. Vue 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)详解
  20. redis.conf详解之replica-read-only

热门文章

  1. Windows 系统中常见的 Shell 命令总结(不时补充)
  2. java mapreduce教程_Java搭建MapReduce完成二次排序步骤
  3. php 高效判断是否登录,php 判断用户是否登录
  4. python字符串变量s的值是python网络爬虫_【Python爬虫作业】-字符串
  5. 利用pyinstaller打包python3程序
  6. 【实时+排重】摆脱渠道统计刷量作弊行为
  7. 团队作业8—团队项目用户验收评审
  8. 不满足于汽车制造,丰田展示仿钢铁侠机器支撑腿架
  9. Google再次从官方商店下架伪装成合法程序的恶意应用
  10. C++primer习题--第3章