Java サーブレットを使用してクライアントからパラメーターを取得します。これは私の投稿です:
サーバーにリクエストを送信するには、ExtJs を使用します。
var x = new Ext.Window({
title:'Загрузка файла',
items:[
formp = new Ext.FormPanel({
fileUpload: true,
width: 350,
autoHeight: true,
bodyStyle: 'padding: 10px 10px 10px 10px;',
labelWidth: 70,
defaults: {
anchor: '95%',
allowBlank: false,
msgTarget: 'side'
},
items:[{
xtype:"combo",
fieldLabel:'Тип файла ',
name:"cb_file",
id:"cb_file",
mode:"local",
typeAhead: false,
loadingText: 'Загрузка...',
store:new Ext.data.SimpleStore({
fields: ['file_name', 'file_type'],
data : [['*.MIF/MID', 'mif'],['*.GPX', 'gpx']]
}),
forceSelection:true,
emptyText:'выбирите тип...',
triggerAction:'all',
valueField:'file_type',
displayField:'file_name',
anchor:'60%'
},{
xtype: 'fileuploadfield',
id: 'filedata',
emptyText: 'Выберите файл для загрузки...',
fieldLabel: 'Имя файла',
buttonText: 'Обзор'
}],
buttons: [{
text: 'Загрузить',
handler: function(){
mapinfo="mapinfo";
formp.getForm().submit({
url: url_servlet+'uploadfile',
//params: {file_type: mapinfo},
success: function(formp, o) {
alert(o.result.file);
alert(o.result.success);
kad_tab.getStore().reload()
zoom_store.load();
}
})
}
}]
})
]
})
x.show();
これを正しく理解していれば、サーバーに2つのパラメーターを送信した後cb_file
、filedata
. 私はそれらを取得しようとします:
String st = request.getParameter("cb_file");
しかし、null を取得します。
ファイルを取得しようとすると:
list = upload.parseRequest(request);
私null
もそうです。
しかし、ファイルのみを送信すると(このためにコンボボックスで行を削除します)、正常に動作します。
このリクエストを解析する方法は?