Struts 2:使用JQuery ajax submit发送JSON字符串以映射到复杂类型列表
如果struts 2动作类具有属性
List userList
。
用户类具有类似的属性
username, password, createdDate
等
是否可以通过传递适当的JSON字符串使struts填充列表,同时提交指向该操作的jQuery ajax请求。
如果可能怎么样? 特别是JSON字符串将如何显示?
请询问任何澄清。
编辑:如果我不够清楚,我很抱歉。 我想要做的不是从Action获取数据到JSP,或提交表单来填充数据。 我想提交一个带有JSON数据的AJAX请求,Struts 2可以使用它来自动填充Action类中的List。
不要使用AJAX提交表单。
-
你应该定义你的行动结果
type="json"
并检查你的类路径上是否有json插件,确保你有// your action here ... -
像这样编辑你的动作类
public class myAction extends ActionSupport { private List
userlist; // getter and setter public String execute() { // your moves return SUCCESS; } } -
然后你可以在你的jsp页面上做一些显示结果,如:
我希望这可以帮到你..
UPDATE
如果你已经有一个json对象:
{ "userList" : [ {"username" : "username", "password" : "afgasdfa", "createdDate" : "date-in-format"}, {"username" : "username", "password" : "afgasdfa", "createdDate" : "date-in-format"}, {"username" : "username", "password" : "afgasdfa", "createdDate" : "date-in-format"}, {"username" : "username", "password" : "afgasdfa", "createdDate" : "date-in-format"} ] }
这应该是格式。
那么你应该使用List
从你的动作类中获取这个对象
试试吧和反馈。
更新2
也许你应该使用String
获取你的json对象,然后使用以下命令将其转换为Java Object:
String stringObject; // which get your string from http List userList; userList = (List )JSON.deserialize(stringObject,List .class);
请再次反馈。