extjs3.2+struts1.2文件上传问题。。急。。谢谢大家了。

小乞丐_落尘 2012-03-07 11:32:02
ext form表单部分代码:



var addDoc = new Ext.FormPanel({
id: 'docType1',
anchor: '90%',
fieldLabel: '附件类型',
name: 'docType1',
xtype: 'combo',
bodyStyle: 'padding:10px;',
valueField: "value",
emptyText: '请选择附件类型',
blankText: '请输入附件类型',
displayField: "text",
allowBlank: false,
store:new Ext.data.SimpleStore({
fields: ["value", "text"],
data: [['1','Word主题'],['xls','Excel主题'],['jpg','JPG图片'],['jpeg','JPEG图片'],['gif','GIF图片'],['bmp','BMP图片'],['7','视频图像']]
}),
mode: 'local'

},{
fieldLabel: '*上传附件(2M)',
id: 'file-file',
name: 'file',
itmesCls: 'float-left',
clearCls: 'allow-foat',
//fileUpload : true, // 指定表单将要进行文件上传
anchor: '90%',
xtype: 'textfield',
inputType: 'file',//输入类型
listeners:{
blur:function(){
var file_upl = document.getElementById('file-file');
file_upl.select();
var filePath = document.selection.createRange().text; //获取上传文件路劲
if(filePath!=""){
var path_name=filePath.substr(filePath.lastIndexOf("\\")+1,filePath.length-1);//获取上传文件名
var fileType=filePath.substr(filePath.lastIndexOf(".")+1,filePath.length-1);//获取上传文件类型
var doc_type= Ext.getCmp("docType1").getValue(); //获取上传文件类型
if(doc_type==1){
if(fileType.toLowerCase() !="doc" && fileType.toLowerCase()!="docx"){
Ext.Msg.alert("提示信息"," 上传文件格式不正确");
return;
}
}
if(doc_type!=1 && doc_type!=7){
if(fileType.toLowerCase() !=doc_type){
Ext.Msg.alert("提示信息"," 上传文件格式不正确");
return;
}
//未验证视频格式

}
Ext.getCmp("docType").setValue(doc_type); //模板文件类型赋值
Ext.getCmp("file").setValue(filePath); //模板文件类型赋值


}
}

}

},{
xtype: 'label',
fieldLabel: '模板文件',
id: 'accessory1',
anchor: '90%',
name: 'accessory1',
allowBlank: false
}, {
xtype: 'radiogroup',
fieldLabel: '公开/私密',
anchor: '60%',
name: 'rbauto',
items: [
{boxLabel: '公开', name: 'rbauto', inputValue: 1},
{boxLabel: '私密', name: 'rbauto', inputValue: 0, checked: true}
]
}],

buttons: [{
text: '保存˜',
handler:function(){
if(addDoc.form.isValid()){
Ext.MessageBox.show({
title: '提示',
msg: '正在保存...',
progressText: '',
width: 300,
progress: true,
closable: false,
animEl: 'loding'
});
var f = function(v){
return function(){
var i = v/11;
Ext.MessageBox.updateProgress(i, '');
};
};

for(var i = 1; i < 13; i++){
setTimeout(f(i), i*150);
}

addDoc.form.doAction('submit',{
url:'docSendManager.do?method=saveAndUpdateDoc',
method:'post',
success:function(form,action){
if (action.result.msg=='ok') {
addDoc.form.reset();
addDocWindow.hide();
Ext.MessageBox.hide();
Ext.Msg.alert('操作提示žœ',"保存成功ŠŸ");
reloadTreeAndGrid();
} else {
Ext.Msg.alert('操作提示',action.result.msg);
}
},
failure:function(){
Ext.Msg.alert('操作提示','服务器错误,请稍后再试...');
}
});
}
}

},{
text: '重置',
handler:function(){addDoc.form.reset();}
}

]
});





actionfrom部分代码:


/**
* 稿件模板附件引用相对路径
*
* @hibernate.property
*/
private FormFile file;

private String expireTime;//截止时间

private String description;// 主题描述

private String rbauto;//公开/私密状态

private String person; //用户


public FormFile getFile() {
return file;
}

public void setFile(FormFile file) {
this.file = file;
}

public String getPerson() {
return person;
}

public void setPerson(String person) {



action部分代码

public ActionForward saveAndUpdateDoc(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
response.setContentType("text/html");
// 设置字符编码为UTF-8, 这样支持汉字显示
response.setCharacterEncoding("UTF-8");

FileManagerForm fileManager = (FileManagerForm) form;
FormFile pfile = fileManager.getFile();//获取文件路径
String docName=fileManager.getTheme();//主题名
String endTime=fileManager.getExpireTime();// 截止日期
String dec=fileManager.getDescription();//描述
String doctype=fileManager.getDocType();//附件类型
String accessory=fileManager.getAccessory();//附件名称
int rbauto=Integer.parseInt(fileManager.getRbauto());//公开/私密
int person=Integer.parseInt(fileManager.getPerson());// 用户ID
System.out.println("文件路径:"+pfile);
System.out.println("主题名:"+docName);
System.out.println("截止日期:"+endTime);
System.out.println("描述:"+dec);
System.out.println("附件类型:"+doctype);
System.out.println("附件名称:"+accessory);
System.out.println("公开/私密"+rbauto);
System.out.println("用户ID"+person);



打印结果::

文件路径:null
附件类型:1
附件名称:四川电大毕业设计.doc
公开/私密0
用户ID2026


请问。。为什么file为null呀??

我换成File接收也是null、。、

网上查说将:fileUpload : true

但是这样也不行。。。

在aip中,也没有找到fileUpload 属性

还有的说将:xtype:'uploadPanel'

同样,,在3.2的api中也xtype没有发现有这个属性。

请问应该怎么样,才能

...全文
122 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
小乞丐_落尘 2012-03-07
  • 打赏
  • 举报
回复
几天都没有解决掉。。谢谢大家了。。。
这是JavaEye论坛热点推荐_-_2009年2月_-_总第9期,个人认为对于JAVA学习的程序员了解当前的一些知识及行业动态非常有帮助。 1.0 Java 1.1 分享开源表达式解析器IK-Expression2.0 1.2 jbpm3与jbpm4实现对比 1.3 Java、PHPRPC、Hessian、Burlap、AMF3、XML 序列化的效率对比1.4 Effective Java Second Edition中文版已出版1.5 国内开源工作流 Fire Workflow 出炉了 1.6 Word/Excel/PDF文件转换成HTML整理 1.7 Java5 Concurrent包中的锁机制 1.8 设计模式解读之一: 策略模式 1.9 外观模式(Facade Pattern) 追MM1.10 做一个通讯项目的一点心得 1.11 Hibernate源码研究碎得整理(一到十三)1.12 解决万恶的大数问题 1.13 Excel Report 一个小巧实用基于java实现的Excel报表生成工具 1.14 Spring(十四) Spring和Hibernate的结合--声明式事务管理1.15 Apache Click 框架初探1.16 Spring AOP 详解 1.17 2 Spring2.0用注解实现事务管理 1.18 Struts2教程2:处理一个form多个submit 2. Ruby 2.1 Ruby on Rails环境下工作流的实现 2.2 让Ruby On Rails走进企业开发 2.3 让Ruby On Rails走进嵌入式开发2.4 用Ruby脚本抓取百度MP3新歌Top 100发布到闲聊3. AJAX 3.1 偶的ExtJS讲座之基础教程PDF版3.2 很炫的图片循环效果(jquery改写版)3.3 CSS雕虫小技:八卦五行布图法介绍4. 软件开发和项目管理 4.1 面子驱动编程 4.2 创业公司的项目管理困境 ················

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧