在进行web开发时,虽然在web.xml文件中加入了encodingFilter<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>*.shtml</url-pattern> </filter-mapping> 使得在添加数据时可以使用中文,但是在进行分类的更新删除操作时,由于categoryId是以get方法通过url传递的, 这个时候如果categoryId为中文的话,通过url传递到action中将会显示乱码,会出现异常,中断程序。 解决方法 写一个工具类 public class StringDecode { public static String decode(String value)throws Exception { try { if (value == null) return null; return new String(value.getBytes("ISO-8859-1"),"utf-8"); //注: 这里的utf-8, 应视提交页面的编码而定. } catch(Exception ex) { return value; } } } 然后在action中调用decode方法String id = StringDecode.decode(request.getParameter("categoryId")); 这时得到的id就不会是乱码了。