私は、struts2を使用したjqgridのショーケースに示されている例に従ってすべてを読みました。しかし、グリッドが表示されません。私を助けてください。以下は私のコードスニペットです。urlにアクション名を入力すると、jsonが表示されます。urlにjspパスを入力すると、jqgridが表示されません。しかし、ページのソースを表示すると、jqgridのコードが作成されます。
JSPファイル
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@taglib prefix="sj" uri="/struts-jquery-tags" %>
<%@taglib prefix="sjg" uri="/struts-jquery-grid-tags" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<sj:head jqueryui="true" jquerytheme="redmond"></sj:head>
</head>
<body>
<s:url id="remoteurl" action="/SreebhogStore/incomingRawMaterial1" />
<sjg:grid id="gridtable" caption="Roles" dataType="json" href="%{remoteurl}" pager="true" gridModel="gridModel" rowList="10,15,20" rowNum="5" rownumbers="true"
width="800" navigator="true" navigatorView="false" navigatorDelete="false"
navigatorAdd="false" navigatorEdit="false" navigatorSearch="false">
<sjg:gridColumn name="lotNo" index="lotNo" title="Role Name"
sortable="true" formatter="editrole" />
</sjg:grid>
</body>
</html>
Struts2の構成
<package name="incomingRawMaterialManagement" extends="struts-default, json-default" namespace="/SreebhogStore">
<interceptors>
<interceptor name="login" class="com.sreebhog.interceptors.LoginInterceptor" />
<interceptor-stack name="loginStack">
<interceptor-ref name="login" ></interceptor-ref>
<interceptor-ref name="defaultStack" ></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="loginStack"></default-interceptor-ref>
<action name="incomingRawMaterial1" class="com.sreebhog.actions.IncomingRawMaterialAction">
<result name="success" type="json"></result>
</action>
</package>
そして、これが私のアクションクラスです
public class IncomingRawMaterialAction extends ActionSupport implements LoginRequired,SessionAware,ErrorSuccessMessages
,ServletRequestAware{
private static final long serialVersionUID = 1L;
private Map<String, Object> sessionMap;
HttpServletRequest request;
//For incoming raw material initialization
private List<Products> rawMaterials;
private List<Party> parties;
//For jqGrid
private List<IncomingRawMaterial> gridModel;
private Integer rows = 0; //Number of rows
private Integer page = 0; //Get the requested page. By default grid sets this to 1.
private String sort; // sorting order - asc or desc
private String sidx; // get index row - i.e. user click to sort.
private String searchString; // The Search String
private String searchOper; // The Search Operation ['eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc']
private Integer total = 0; // Your Total Pages
private Integer records = 0; // All Record
public String execute()
{
rows=5;
gridModel = new ArrayList<IncomingRawMaterial>();
gridModel.add(new IncomingRawMaterial());
gridModel.add(new IncomingRawMaterial());
System.out.println("HERE--------------------------------------------------");
//calculate the total pages for the query
total =2;//(int) Math.ceil((double)records / (double)rows);
return SUCCESS;
}
public String getJSON()
{
System.out.println("JSON------------------------------------------------------");
return execute();
}
//Getters and setters and override methods
//JQGRID GETTERS AND SETTTERS
}
コンソールメッセージも表示されないことに注意してください。したがって、jqgridが私のアクションを呼び出していないのではないかと思います。
含まれているjarのリストは次のとおりです。antlr-2.7.7.jarclassmate-0.5.4.jarcommons-collections-3.2.1.jarcommons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons- logging-1.0.4.jar dom4j-1.6.1.jar freemarker-2.3.15.jar hibernate-commons-annotations-4.0.1.Final.jar hibernate-core-4.0.0.Final.jar hibernate-jpa-2.0 -api-1.0.1.Final.jar javassist-3.12.1.GA.jar jandex-1.0.3.Final.jar jboss-logging-3.1.0.CR2.jar jboss-transaction-api_1.1_spec-1.0.0 .Final.jar log4j-1.2.14.jar mysql-connector-java-5.1.3-rc-bin.jar ognl-2.7.3.jar servlet-api.jar struts2-convention-plugin-2.1.8.1.jar xwork -コア-2.1.6.jar
**Here are the important ones i guess.**
struts2-core-2.1.8.1.jar
struts2-jquery-grid-plugin-3.5.1.jar
struts2-jquery-plugin-3.5.1.jar
struts2-json-plugin-2.1.8.1.jar
編集1:グリッドを表示できるようになりましたが、まだjsonデータが読み込まれていません。問題は、sjg:columnタグの1つにあるformatter属性にありました。