-
struts 2 jquery.ajax() 接受数据乱码问题5
先看java 后台的代码public String readPage(){ Tomcat_Root = request.getSession().getServletContext().getRealPath("/"); String fiePath = request.getParameter("rootpath"); StringBuffer sb = new StringBuffer(); File file = new File(fiePath); if(!file.exists()){ System.out.println("找不到你要的文件"); } try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); while(true){ String line = br.readLine(); if(line!=null){ sb.append(line+"\n"); }else{ break; } } br.close(); PrintWriter out = response.getWriter(); //response.setCharacterEncoding("UTF-8"); //response.setContentType("text/html"); response.setContentType("text/html;charset=utf-8"); System.out.println("sb:"+sb.toString()); String des = new String(sb.toString().getBytes("UTF-8"),"UTF-8"); System.out.println("des:"+des); out.print(des); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { System.out.println("文件读取错误"); e.printStackTrace(); } return null; }
这里out.print(des) 打印是var audioMixerServer ="iamp://192.168.60.146:5052/" var audioArr=[{ audioClass:"????", list:[ {name:"20124215341.wav",jtUrl:"diet/audio/",volume:"45",times:"-1",len:"0",info:"MU-????????.wav"}, {name:"20124215969.wav",jtUrl:"diet/audio/",volume:"45",times:"-1",len:"0",info:"MU-????????.wav"}, {name:"20112314142304.wav",jtUrl:"diet/audio/",volume:"60",times:"1",len:"0",info:"????.wav"}, {name:"20112314142336.wav",jtUrl:"diet/audio/",volume:"60",times:"1",len:"0",info:"????.wav"} ]}]
但是System.out.println("des:"+des);的打印输出是:des:var audioMixerServer ="iamp://192.168.60.146:5052/" var audioArr=[{ audioClass:"基本音频", list:[ {name:"20124215341.wav",jtUrl:"diet/audio/",volume:"45",times:"-1",len:"0",info:"MU-饮食开头背景音乐.wav"}, {name:"20124215969.wav",jtUrl:"diet/audio/",volume:"45",times:"-1",len:"0",info:"MU-饮食里面背景音乐.wav"}, {name:"20112314142304.wav",jtUrl:"diet/audio/",volume:"60",times:"1",len:"0",info:"移动音效.wav"}, {name:"20112314142336.wav",jtUrl:"diet/audio/",volume:"60",times:"1",len:"0",info:"确定音效.wav"} ]}]
页面jquery ajax js代码:function geteditData(name){ var path =rootPath+name; alert("editData_path==="+path); $.ajax({ async: false, cache: false, type:"POST", dataType: "text", contentType:"application/x-www-form-urlencoded;charset=utf-8", url: "<%=basePath%>pkg_readPage?rootpath="+path, success : function(data){ alert("get_edit_data:"+data ); $("#txt").val(data); }, error: function(){ alert("trsData = error") } }); }
这里alert()处乱的当然是乱码了。
我的jsp页面是这么设置的<%@ page language="java" import="java.util.*" contentType="text/html" pageEncoding="utf-8"%>
struts.xml里面
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<constant name="struts.multipart.maxSize" value="104857600" />
<constant name="struts.i18n.encoding" value="utf-8"/>
还是乱码,然后写了个filter
public class MyFilter extends HttpServlet implements Filter { public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { arg0.setCharacterEncoding("UTF-8"); arg1.setContentType("text/html;charset=UTF-8"); arg2.doFilter(arg0, arg1); } public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } }
web.xml 里面的配置:<filter> <filter-name>MyFilter</filter-name> <filter-class>cn.itime.webpkg.filter.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>MyFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
居然还是乱码,崩溃啊,,,,,,
求解答问题出在哪里?谢谢
2012年4月17日 15:27
目前还没有答案
相关推荐
在这个主题中,“struts2乱码与json插件”主要关注两个方面:字符编码问题和JSON数据交互。 **字符编码问题** 在开发web应用时,乱码问题经常出现,尤其是在处理用户输入或显示非ASCII字符时。Struts2框架默认使用...
Struts2、JSON和jQuery的集成是Web开发中常见的技术栈,主要目的是为了实现高效的前端交互和后端数据传输。以下是对这些知识点的详细说明: **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web...
本示例主要介绍了如何利用jQuery通过JSON与Struts2的Action进行数据交换,从而实现前端与后端的无刷新通信。 首先,我们需要在Struts2的配置文件(通常是struts.xml)中定义一个Action,这里定义了一个名为`test`的...
在这种场景下,我们可以利用JavaScript库JQuery、异步数据传输技术Ajax以及MVC框架Struts2来协同工作,创建一个定时刷新的功能。以下是详细步骤和相关知识点的解释: 1. **导入jQuery库**: 在HTML文档中,我们...
然而,在使用AJAX技术时,开发者可能会遇到一个常见的问题,即从服务器返回的字符串数据在客户端浏览器中显示为乱码。这种问题通常是由于编码不一致造成的,特别是当服务器端和客户端使用了不同的字符编码时。 首先...
在本文中,我们将会探讨如何通过JQuery、Ajax、Struts2和Hibernate框架的整合实现一个完整的登录注册功能。这一过程涉及前后端的开发与配置,包括前端页面的搭建、后端逻辑的实现以及前后端之间的交互。在开发环境的...
自己在struts2中的写好了业务逻辑用response返回的内容却是... 您可能感兴趣的文章:ajax的responseText乱码的问题的解决方法jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXMLAjax request response 乱码解决
在本文中,我们将深入探讨如何在Java环境下,结合Struts2框架和jQuery的uploadify插件实现文件上传功能,特别是解决中文乱码问题。这个功能对于任何需要用户交互式上传内容的Web应用都是至关重要的。 首先,jQuery ...
6. **struts2-json-plugin.jar**: 提供了JSON支持,使得Struts2可以方便地处理JSON格式的数据,适合于AJAX和移动应用开发。 7. **struts2-tiles-plugin.jar**: TILES插件整合了Apache Tiles,用于定义和管理可重用...
在这个实例中,我们不仅实现了SSH框架的基础整合,还解决了中文上传和下载时可能出现的乱码问题,并引入了基本的AJAX功能来处理JSON数据,提升了用户体验。 1. **Struts2**:Struts2作为MVC(Model-View-Controller...
本主题主要聚焦在JSP(Java Server Pages)、AJAX(Asynchronous JavaScript and XML)、Struts和Hibernate这四大技术的整合应用上,旨在提升Web应用的交互性和数据处理能力。 **JSP2.0**: JSP是Java EE展示层的...
{12.11.2}intersect与minus}{166}{subsection.12.11.2} {12.11.3}join}{166}{subsection.12.11.3} {12.11.3.1}cross join}{166}{subsubsection.12.11.3.1} {12.11.3.2}inner join}{167}{subsubsection.12.11.3.2...
本文将深入探讨如何使用jQuery实现下拉框的自动提示功能,并解决中文乱码问题,同时结合Java后端进行讲解。 一、jQuery自动提示功能实现 1. HTML结构:首先,我们需要一个输入框(input)用于用户输入查询内容,以及...
需要注意的是,在输出当前时间之前,需要设置响应的字符编码,以避免乱码问题。 四、Struts2.xml 配置文件 在 Struts2 框架中,我们需要在 Struts2.xml 配置文件中配置 action,以便将请求映射到对应的 action 中...
在描述的问题中,开发者遇到一个棘手的情况,即使用jQuery的$.post方法发送AJAX请求,但返回的数据没有在回调函数中显示,同时也没有任何错误信息。 问题的根源在于数据结构的复杂性以及框架间的交互。项目使用SSH...
4. **SpringMVC**:学习其工作流程,对比Struts2,解决乱码问题,熟悉组件扩展。 5. **MyBatis**:对比JDBC和Hibernate,理解动态SQL,掌握XML和注解的映射方式。 **四、脚本** 1. **JavaScript**:了解核心对象,...
以上就是SSH项目的基本实现步骤,实际开发中可能还需要配置Spring来管理依赖,实现事务控制,以及使用其他相关技术如Ajax、jQuery等增强用户体验。同时,注意进行单元测试和集成测试,确保各个组件的正确性和整个...
前后台架构: 1、java语言(jdk1.5)、struts1.2.9、hibernate3.2.6.ga、spring2.0.8 2、前台:主要使用了轻量级的ajax开发框架jQuery,使用jQuery很轻松的降低了服务器压力提高了用户体验并且代码容易维护,尤其是...
如果 `conclusionTypeName` 是一个全局变量,并且包含中文,需要确保其在传递过程中不会出现乱码问题。如果是在 Action 中直接设置,可能需要进行适当的编码转换。 `<s:select>` 是 Struts2 框架中的标签,它创建了...