PDA

View Full Version : Request is not coming into my Struts 2 action method from the Extjs



biswajit.rout
17 Apr 2012, 10:22 PM
Hello All,
We are doing one development activity based on Struts 2 + Spring 3 + Spring JDBC Template + Extjs 4.1
I want my Combo box to be getting populated with dynamic data fetched from the DB. However when I am running, I can see it is not at all entering into my action method (Not even printing the SOP in the WLS console).
I am assuming something wrong in my struts.xml or in the js file.



Please find the list of files

admin.js that is in Extjs 4.1 technology (only combo box part code)

Ext.define('MyNamespace.StoreModel', {
extend: 'Ext.data.Model',
fields: [
{name:'tablename'},
{name:'displayName'}]
});

var crudComboStore = Ext.create('Ext.data.Store', {
model: 'MyNamespace.StoreModel',
proxy : {
type :'ajax',
url : 'http://localhost:7001/3pd/adminProcess.action',
reader : {
type : 'json',
root : 'crudData'
}
}
});
crudComboStore.load();

Struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />

<package name="default" namespace="/" extends="struts-default">

<action name="adminForm">
<result>admin/admin.jsp</result>
</action>

<action name="adminProcess" method="getMasterTableList"
class="com.xx.xxx.admin.action.AdminAction">

<result name="input">admin/admin.jsp</result>
<result name="error">admin/admin.jsp</result>
<result name="success">admin/success.jsp</result>
</action>
</package>
</struts>

Action method

public String getMasterTableList() {
System.out.println("AdminAction.getMasterTableList @@@@@");

List<CRUDSVO> objCRUDTableList = null;
Iterator<CRUDSVO> objItr = null;
CRUDSVO objCRUDSVO = null;
Map<String, String> interfaceObject = null;
List<Map<String, String>> interfaceArray = new ArrayList<Map<String, String>>();
Map<String, List<Map<String, String>>> finalInterfaceObject = new HashMap<String, List<Map<String, String>>>();

try {
HttpServletResponse response = ServletActionContext.getResponse();
objCRUDTableList = adminBo.getCRUDTableList();
objItr = objCRUDTableList.iterator();
while (objItr.hasNext()) {
objCRUDSVO = null;
objCRUDSVO = objItr.next();
interfaceObject = new HashMap<String, String>();
interfaceObject.put(AdminConstants.TABLE_NAME, objCRUDSVO.getTableName());
interfaceObject.put(AdminConstants.DISPLAY_NAME, objCRUDSVO.gettableDisplayName());
interfaceArray.add(interfaceObject);
}
finalInterfaceObject.put(AdminConstants.CRUD_DATA, interfaceArray);
response.getWriter().write(finalInterfaceObject.toString());
} catch (IOException e) {
e.printStackTrace();
}
return SUCCESS;
}

Thanks in advance for guiding me.

Best regards,
Biswajit

mitchellsimoens
18 Apr 2012, 11:23 AM
Looking at the network tab in developer tools in the browser, do you see the request?