最近学习dhtmlxgrid,想在服务器端为其加载数据,看官网的例子学着写,遇到一些问题。
首先,用Servlet来返回数据是可以测试成功的,处理方法如下:
public class LoadGrid extends ConnectorServlet {
private static Connection conn = null;
@Override
protected void configure() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/dhtmlx_tutorial", "root", "123");
} catch (Throwable e) {
e.printStackTrace();
}
GridConnector c = new GridConnector(conn);
System.out.println("render_sql");
String sql = "SELECT * FROM contacts";
c.render_sql(sql,"contact_id","fname,lname,email");
}
}现在我加入Struts2框架,想在Action方法中为dhtmlxgrid加载数据,就会报错了。
客户端代码:
contactsGrid = layout.cells("a").attachGrid(); 
contactsGrid.setHeader("Name,Last Name,Email");
contactsGrid.setInitWidths("100,100,*");
contactsGrid.setColAlign("left,left,left");
contactsGrid.setColTypes("ro,ro,ro"); 
contactsGrid.setColSorting("str,str,str"); 
contactsGrid.attachHeader("#text_filter,#text_filter,#text_filter");
contactsGrid.init();
contactsGrid.load("loadgrid.do"); //connector
配置文件:
<struts>
<constant name="struts.action.extension" value="do" /> 
<package name="dhtmlx" extends="struts-default">
<action name="loadgrid" class="logan.LoadGrid" method="load">
 <result name="success">/menu.html</result> 
</action>
Action代码:
public class LoadGrid extends ActionSupport {
private static Connection conn = null;
public String load() throws Exception {
System.out.println("========action:");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/dhtmlx_tutorial", "root", "123");
} catch (Throwable e) {
e.printStackTrace();
}
GridConnector gridConnector = new GridConnector(conn);
String sql = "SELECT * FROM contacts";
gridConnector.render_sql(sql,"contact_id","fname,lname,email");
return "SUCCESS";
}
}
报错:报错的491行,我看了源码中是这样的:
@SuppressWarnings("unchecked")
protected void parse_request(){
if (dynloading)
request.set_limit(0, dynloading_size);

if (http_request.getParameter("editing")!=null) //491
editing = true;

if (http_request.getParameter("ids")!=null)
editing = true;
怀疑是不是因为request被Struts2封装了的原因导致报空指针异常。现在比较困惑,求答疑小弟还是新手,刚看官网学习DHTMLX,很是吃力,望各位多多指导,分享点学习经验也行dhtmlxgridstruts2dhtmlxconnectordhtmlx