I am using spring mvc and apachitile.page redirecs by "AddUpdateCustomer" action.I want to pass a list from controller to the view when redirecting to the page(on load)using ajax.I wrote a code but gets error.don't know whether my url reference is correct or not.getting Error alert.
controller :
@RequestMapping("/AddUpdateCustomer")
public String redirectCustomer(Map<String, Object> map) {
//map.put("customerList", customerService.listCustomer());
return "AddUpdateCustomer";
}
@RequestMapping("/ListCustomer")
@ResponseBody
public List<Customer> ListCustomer() {
return customerService.listCustomer();
}
function LoadDataToThegrid() {
$.ajax({
type: "POST",
url: "ListCustomer.html",
data: {},
success: function(data){
alert(data);
},
error: function(jqXHR, textStatus, errorThrown){
//alert('Error: ' +xhr.responseText);
alert('Error: ' + jqXHR.responseText);
}
});
}
web xml:
<display-name>Spring3-Hibernate</display-name>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
spring-servlet.xml :
<context:annotation-config />
<context:component-scan base-package="net.opticare" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles2.TilesView
</value>
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" />
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
p:password="${jdbc.password}" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${jdbc.dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:annotation-driven />
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
error on firebug console :
500 Internal Server Error - http://localhost/Spring3HibernateMaven/ListCustomer.html
First quick look tells me you should remove the .html
part in the url-property of the jquery ajax call. With .html
the
@RequestMapping("/ListCustomer")
@ResponseBody
public List<Customer> ListCustomer() {
controller method never gets called.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.