我有一個spring 3.1 web應用程序,並試圖發出ajax請求,但在firebug中,我可以看到我的映射未找到。我嘗試了各種各樣的東西,但無法達到我的控制器方法。這裏還有一些細節:spring ajax請求
這個我有我我的web.xml:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/ctrl/*</url-pattern>
</servlet-mapping>
這個我有我的控制器:
@RequestMapping(value="/ctrl/test", method = RequestMethod.GET)
public @ResponseBody String test() {
System.out.println("method test()");
return "aString";
}
這個我有我的調度員servlet.xml中:
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
我有另一個請求映射到我的控制器中的一個方法,那個工作,但它不是ajax:
@RequestMapping(value="/ctrl", method = RequestMethod.GET)
public String printWelcome(ModelMap model, HttpSession session) {
initializeTree(session);
return "tree";
}
任何人都可以指向正確的方向嗎?
謝謝你的回答;我嘗試了你的建議。在啓動JBoss時,我可以看到下面的url正被映射:[/ ctrl/test],[/ctrl/test.*],[/ ctrl/test /],[/ ctrl],[/ctrl.*]和[/CTRL /]。但我仍然無法達到我的處理程序方法(公共@ResponseBody字符串測試())。 – Tom 2012-04-25 07:47:20
您的AJAX控制器是否發送GETs,或者有可能使用POSTs? – beny23 2012-04-25 07:49:18
它發送一個獲取請求 – Tom 2012-04-25 07:56:54