Click here to Skip to main content
12,953,014 members (37,707 online)
Rate this:
Please Sign up or sign in to vote.
See more:
I'm working with Spring MVC 3.0.2 with Hibernate using JSP. I'm using RESTful (annotated) controllers in Spring. Many a times, I need to return a java.util.List using Ajax (to and) from the Spring controller class which is mapped with appropriate (mostly GET and POST) requests. Something like the one shown below.

@RequestMapping(method=RequestMethod.POST, value="ajax/TempAjax")
public @ResponseBody List<Country>getStateList(@ModelAttribute("someBean") 
SomeBean someBean, BindingResult error, HttpServletRequest request, 
HttpServletResponse response)
    Session session=NewHibernateUtil.getSessionFactory().getCurrentSession();
    List<Country>list=session.createQuery("from State where countryId = 
   "+request.getParameter("countryId")+" order by stateId").list();
    return list;

What I'm trying to do is when a country is selected from a Country select box, corresponding states of that country should be populated from the database in the State select box according to the countryId passed to the Spring controller class via Ajax.

I'm not sure but the Spring MVC 3.0.2 should support some direct mechanism like JSON. Could you please let me know what are the prerequisites of using Ajax to accomplish such task in Spring MVC. If possible, could you please give me some example. I have searched on Google but I didn't realize the basic requirements as I'm using such stuff very first time.
Posted 6-Aug-12 1:37am
Updated 6-Aug-12 1:56am

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Add this in spring config xml 
<beans:bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" >
	<beans:property name="extractValueFromSingleKeyModel" value="true" />
Add jackson-core-asl-1.1.2.jar and jackson-mapper-asl-1.1.2.jar to build path
In Controller:
 * Receives ajax request from the client gets the response from the web
 * service usng service classes and sends the response back to the client on
 * JSON format.
 @RequestMapping(value = "/showSomeData", method = RequestMethod.POST)
 public @ResponseBody SampleClass someFunction() {
      // Do the processing 
	SampleClass sampleClass = new SampleClass();
      // set the properties for sampleClass
      return sampleClass;

This blog might help you to understand things more.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 6,389
CHill60 3,490
Maciej Los 3,103
Jochen Arndt 1,975
ppolymorphe 1,920

Advertise | Privacy | Mobile
Web02 | 2.8.170525.1 | Last Updated 21 Sep 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100