Java Struts 2 JSON JQuery网格未命中操作
我目前有一个表,我正试图将其转换为jqGrid。我无法请求点击控制器的操作以获得JSON结果 以下是我的相关Maven配置:Java Struts 2 JSON JQuery网格未命中操作,java,jquery,json,struts2,jqgrid,Java,Jquery,Json,Struts2,Jqgrid,我目前有一个表,我正试图将其转换为jqGrid。我无法请求点击控制器的操作以获得JSON结果 以下是我的相关Maven配置: org.apache.struts struts2型芯 2.2.1 org.apache.struts struts2 json插件 2.2.1 com.jgeppert.struts2.jquery struts2 jquery插件 3.3.3 com.jgeppert.struts2.jquery struts2 jquery网格插件 3.1.0 这是我的stru
org.apache.struts
struts2型芯
2.2.1
org.apache.struts
struts2 json插件
2.2.1
com.jgeppert.struts2.jquery
struts2 jquery插件
3.3.3
com.jgeppert.struts2.jquery
struts2 jquery网格插件
3.1.0
这是我的struts.xml
配置:
....
....
admin.managetList
admin.managePatientList.Procedure
admin.managetList
admin.managetList
....
这是我的控制器和动作。我遗漏了其他jQuery特定的属性。我没有使用注释。还有从填充数据的选项卡调用的其他操作
公共字符串getJSON()
{
返回getJsonData();
}
公共字符串getJsonData()
{
//数行
records=getPatientList().size();
//计算查询的总页数
总数=记录;
返回“getJsonData”;
}
这是我对jqGrid的看法:
我愿意接受任何建议。没有不好的答案。我知道还有其他与此相关的问题,但我只找到了使用注释或没有任何答案的问题。这可能是/可能不是版本问题。前几天我尝试升级,但与其他库发生冲突。许多与sjg相关的错误是由于错误映射了用于返回JSON结果的操作,该结果可用于插件公开的Struts2 jQuery网格。因此,要修复错误,您应该正确地将url映射到操作。比如说
<s:url var="remoteurl" namespace="/admin" action="patients_getJsonData"/>
<sjg:grid
id="gridtable"
caption="View Patients"
dataType="json"
href="%{#remoteurl}"
pager="true"
gridModel="patientList"
rowList="10,15,20"
rowNum="15"
rownumbers="true">
<sjg:gridColumn name="email" index="email" title="Email" sortable="true"/>
</sjg:grid>
从上下文获取变量,不要遍历值堆栈。1)请对jquery和jquery网格插件始终使用相同的版本。目前的版本是3.7.0。2) 你的JSON操作被调用了吗?或者有JavaScript错误吗?哇,真是一团糟:)通配符方法以get开始,结果返回自己。顺便说一句,由于非常重要的安全问题,你也应该升级。Struts(核心、json等)应使用2.3.16,Jquery和grid应使用3.7.0。但2.2.1和最新的S2是2.3.16.1,不能使用3.7.0我将尝试升级。遇到了问题。有没有办法查看Struts Jquery网格文档在旧版本中的外观?我使用的是spring的3.0.3发行版。你们都用什么版本?希望我不必升级到版本4。这不是让jquery网格工作的好方法。我会试试这个。我会让你知道这是否有效。看起来名称空间会修复它。添加了该名称空间。也尝试过不使用正斜杠。不起作用。我将尝试按照其他人的建议升级该库。@TejaswiRana我知道你有一个复杂的bug,我无法在一个答案中修复,但问题是你能用url点击操作吗?不能。我无法让它运行。我只是尝试升级库版本。其他依赖项太多,一个更改导致另一个更改。我不会像其他用户建议的那样走那条路。我不知何故需要使用相同的lib版本,并让它发挥作用。我希望我能找到关于struts 2 jquery网格旧版本的文档。