java控制器 ajax,java - 使用Jackson通过AJAX从Spring MVC控制器返回java.util.List - 堆栈内存溢出...

根据我几天前发布的问题 ,我意识到SimpleFormController不适合处理Ajax请求。 因此,我正在将我的应用程序迁移到带注释的控制器。

我正在尝试使用Spring MVC 3.0.2和Hibernate通过Ajax使用Jackson 1.9.8 (其下载页面 )从Oracle数据库返回java.util.List ,但我还没有在任何技术中使用JSON。 我已经阅读了一些教程/文章,但我无法理解如何返回这样复杂的数据结构并在Spring中使用JSON解析它们。 我首先尝试学习类似JSON的概念。

基本上我正在尝试的是当从国家选择框中选择国家时,应该通过Ajax从数据库填充与该国家相对应的州。 我不知道如何通过Ajax响应返回java.util.List ,如何解析它并在Java代码中再次使用它。 我只达到以下水平。

JS代码。

function getStates(countryId)

{

$.ajax({

datatype:"json",

type: "POST",

url: "/wagafashion/ajax/TempAjax.htm",

data: "countryId=" + countryId,

success: function(response)

{

$('#msg').html(response);

$('#stateList').val('');

},

error: function(e)

{

alert('Error: ' + e);

}

});

}

Spring控制器类中的方法,当在国家/地区选择框的onchange事件上发出Ajax请求时调用该方法。

@RequestMapping(method=RequestMethod.POST, value="ajax/TempAjax")

public @ResponseBody List getStateList(@ModelAttribute("tempBean") TempBean tempBean, BindingResult error, Map model, HttpServletRequest request, HttpServletResponse response)

{

Session session=NewHibernateUtil.getSessionFactory().getCurrentSession();

session.beginTransaction();

Listlist=session.createQuery("from StateTable where country.countryId=:countryId order by stateId").setParameter("countryId", new BigDecimal(request.getParameter("countryId"))).list();

session.flush();

session.getTransaction().commit();

return list;

}

状态选择框我需要使用EL的循环填充Ajax响应返回的状态列表。

Select

${row.stateName}

${row.stateName}

我只能成功地进行Ajax请求和响应。 通过互联网找到的那些教程我无法理解。 更确切地说,如何在前面的循环的items属性中使用Ajax响应,例如items="${stateList}" ?

你能给我一些提示/想法如何返回数据列表并在前面的循环中使用它来填充状态选择框? 你能告诉我一些从这里开始的事吗?

我正在使用NetBeans 6.9.1(而不是Eclipse)。 在一些关于Eclipse中Marvan项目的教程中,提到了pom.xml文件需要配置为包含 (Jackson依赖)。 在我的NetBeans项目中没有像pom.xml这样的东西。 是否需要在NetBeans中的某个xml文件中配置某个位置,例如此处提到的那个?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值