我已经看到了一些关于发送和构建jgGrid从使用这些库的struts.xml web应用程序上注册的操作的文章。但我还没有看到如何从网格中捕获处理后的数据。我的代码:从客户端JS代码发送数据到Struts 2 ActionSupport类
jQuery("#bedata").click(function(){
jQuery('#rowed3').jqGrid('restoreRow',lastsel);
var gridData = jQuery("#rowed3").getRowData();
var postData = JSON.stringify(gridData);
alert("JSON serialized jqGrid data:\n" + postData);
$.ajax({
type: "POST",
url: "CargaTabla.action",
data : {
jgGridData: postData,
customData: "someinfo"
},
dataType:"json",
contentType: "application/json; charset=utf-8",
success: function(response, textStatus, xhr) {
alert("success");
},
error: function(xhr, textStatus, errorThrown) {
alert("error");
}
});
});
id = betadata
按钮将数据发送到 “CargaTabla.action
”,在Struts 2的配置文件中注册一个动作。数据被正确序列化为JSON字符串。 ClassActionImpl
是抓这个动作的类,有没有什么方法可以获得Javascript发出的信息?如果没有使用JSP请求或类似的东西,Struts 2有什么方法可以获取这些数据,只需要在同一个ClassActionImpl.execute()
的Java代码?一些隐藏的参数?
谢谢。
struts.xml的
<action name="CargaTabla" method="guardarUsuario" class="org.json.JSONRespuestaTabla"> <result name="success" type="json">
<param name="includeProperties">jgGridData</param>
</result>
</action>
您好,感谢您的回复。问题是,当CargaTabla。动作是从Struts 2框架中调用的,jgGridData存取器被称为GETTER,而不是SETTER,所以,我无法获取客户端发送的信息: 它调用jgGridData GETTER,而不是SETTER,所以我不能从客户端捕获数据。 –
Raph
2011-12-15 11:18:57
@Raph我恐怕我无法完全忍受这一点。你可以多描述一下 – 2011-12-15 11:47:05