PDA

View Full Version : integrating ExtJs and struts



priyapratheep
13 May 2012, 10:36 PM
In my program I am integrating ExtJS with struts.

From JSP I am uploading a file through struts. Two days I am googling and tried many different ways. Here is my code

ExtJS

var csDocPanel = new Ext.form.FormPanel({
standardSubmit: true,
frame:true,
title: 'Costing Sheet Documents',
width: 970,
bodyStyle:'padding:5px 5px 0',
defaultType: 'textfield',
method: 'post',
items: [{
id:'sendFileFieldId',
name: 'sendFileField',
labelStyle: 'martin:5px;padding:5px;width:200px',
inputType: 'file',
border: false
}],
buttons: [{
text: 'Submit',
handler: function(button, event) {
csDocPanel.getForm().submit({
action:'UploadAndSaveCsDocAction.action',
method:'POST',
failure: function() {
Ext.Msg.alert('Error', 'Can not save data.');
}
});
}
}]

});


My struts-config.xml file

<action attribute="UploadFileFormCsDoc" name="DynaFormBean" path="/apse-projectmgmt-portlet/FileUploadAndSaveCsDoc"
type="com.bmtap.apse.projectmgmt.action.UploadAndSaveCsDocAction" scope="request" input="/jsp/view.jsp">
<forward name="success" path="/jsp/project_costingsheet1.jsp" redirect="true"/>
<forward name="failure" path="/jsp/project_costingsheet1.jsp" redirect="true"/>
</action>

My action class

public class UploadAndSaveCsDocAction extends Action {

private Logger logger = LogManager.getLogger(UploadAndSaveCsDocAction.class);

public ActionForward execute( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception{
.....
}

I tried many ways like
1.
function doPostSend(){
csDocPanel.getForm().submit({
url:"/apse-projectmgmt-portlet/FileUploadAndSaveCsDoc.do",
success: function (form, action) {
alert( "success");
},
failure: function (form, action) {
alert("failure");
}
})
;}
I got error 404 can't find /apse-projectmgmt-portlet/FileUploadAndSaveCsDoc.do

2.
var csDocPanelTemp = new Ext.FormPanel({
id: 'csDocPanelTemp',
frame:true,
title: 'Costing Sheet Documents',
bodyStyle:'padding:5px 5px 0',
width: 970,
items: [fileField,csDocGrid],
autoWidth: true,
fileUpload: true,
standardSubmit: true,
isUpload: true,
//url:'UploadFileFormCsDoc.action',

url: "/apse-projectmgmt-portlet/FileUploadAndSaveCsDoc.do",
action : this.url || '',
method: 'post'

});

and many...

Most of the error i am getting is can't file the path /apse-projectmgmt-portlet/FileUploadAndSaveCsDoc.do

But when I try this with the below code I can upload the file successfully

<html:form method="post" action="/apse-projectmgmt-portlet/FileUploadAndSaveCsDoc.do" enctype="multipart/form-data" >
<table>

<tr class="fieldlabel">
<td align="left"> <html:file property="theFile"/> <font color="red"><html:errors/></font> </td>
</tr>
<tr>
<td align="center" colspan="2"> <html:submit>Upload File</html:submit> </td>
</tr>
</table>
</html:form>

Any body please help me .Thanks in advance

scottmartin
14 May 2012, 6:33 AM
This seems to be a duplicate of:
http://www.sencha.com/forum/showthread.php?205116

Regards,
Scott.