问题是这样的,教师用户下载学生作业文档(项目内的相对路径)时;当文档中存在中文时,无法解析中文,显示utf8编码(即1个汉字对应的3个utf8编码)。使用了filter进行字符过滤,下载路径可以用alert正确显示出来,教师用户的下载功能javascript代码如下:
workDown : function(stid) {
var formdiv = "<form id='filedownform' style='display: none;' action='"+base.getBasePath()+"/file.ctl?pmn=fileDown' method='post' >" + "<input type='hidden' name='upHide' value='"+$("#"+stid+"").attr("fp")+"'>" +
"<input type='hidden' name='fname' value='"+$("#"+stid+"").attr("stname")+"'>" +
"</form>";
alert("<input type='hidden' name='upHide'
结果就是:一个“测试名”的文件,在浏览器下载后,文件名变成了“
%E6%B5%8B%E8%AF%95%E5%90%8D”,我查了下,就是 测试名相应的utf-8编码,每个汉字对应3个utf8编码。
但是学生用户对同一作业文件(含有中文名),却可以下载成功,javascript代码如下:
workDown : function() {
var formdiv = "<form id='filedownform' style='display: none;' action='"+base.getBasePath()+"/file.d?pmn=fileDown' method='post' enctype='multipart/form-data' >" +
"<input type='hidden' name='upHide' value='"+$("#upHide").val()+"'>" +
"<input type='hidden' name='fname' value='"+$("#workDown").attr("fname")+"'>" +
"</form>";
$("body").append(formdiv);
$("#filedownform").submit();
$("#filedownform").remove();相应的配置文件XML文档为:
<!-- 功能介绍:文件上传
-->
<bean id="file" class="com.jhultraxn.util.FileCtl" parent="baseCtl" />
- <bean name="/file.d" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
- <property name="methodNameResolver">
<ref bean="pmn" />
</property>
- <property name="delegate">
<ref bean="file" />
</property>
</bean>
- <bean name="/file.ctl" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
- <property name="methodNameResolver">
<ref bean="pmn" />
</property>
- <property name="delegate">
<ref bean="file" />
</property>
</bean>
workDown : function(stid) {
var formdiv = "<form id='filedownform' style='display: none;' action='"+base.getBasePath()+"/file.ctl?pmn=fileDown' method='post' >" + "<input type='hidden' name='upHide' value='"+$("#"+stid+"").attr("fp")+"'>" +
"<input type='hidden' name='fname' value='"+$("#"+stid+"").attr("stname")+"'>" +
"</form>";
alert("<input type='hidden' name='upHide'
结果就是:一个“测试名”的文件,在浏览器下载后,文件名变成了“
%E6%B5%8B%E8%AF%95%E5%90%8D”,我查了下,就是 测试名相应的utf-8编码,每个汉字对应3个utf8编码。
但是学生用户对同一作业文件(含有中文名),却可以下载成功,javascript代码如下:
workDown : function() {
var formdiv = "<form id='filedownform' style='display: none;' action='"+base.getBasePath()+"/file.d?pmn=fileDown' method='post' enctype='multipart/form-data' >" +
"<input type='hidden' name='upHide' value='"+$("#upHide").val()+"'>" +
"<input type='hidden' name='fname' value='"+$("#workDown").attr("fname")+"'>" +
"</form>";
$("body").append(formdiv);
$("#filedownform").submit();
$("#filedownform").remove();相应的配置文件XML文档为:
<!-- 功能介绍:文件上传
-->
<bean id="file" class="com.jhultraxn.util.FileCtl" parent="baseCtl" />
- <bean name="/file.d" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
- <property name="methodNameResolver">
<ref bean="pmn" />
</property>
- <property name="delegate">
<ref bean="file" />
</property>
</bean>
- <bean name="/file.ctl" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
- <property name="methodNameResolver">
<ref bean="pmn" />
</property>
- <property name="delegate">
<ref bean="file" />
</property>
</bean>
解决方案 »
- 关于Ext.data.HttpProxy传参数的问题
- Java SSH项目配置文件的调用过程
- 关于任务调度的问题,高手请进,高分求接..........
- 请赐教按月份查询记录的SQL语句,我用的是MYSQL,谢谢!
- 找人解决页面刷新问题?
- JSP页面内容导入到WORD中问题
- java web java.lang.IllegalStateException
- jsp生成页面乱码问题
- java中的AudioClip对象都可以播放什么类型的声音文件?谢谢!无内容。
- 我存到数据库中的文件打开后变成这样了
- struts2 漏洞,升级到2.3.15之后报There is no Action mapped for namespace [/] and action na
- spring 的事务管理问题
可以结贴了