我正在更新我们的传统代码,使用jsp和servelts到angular 7。然而,有一些遗留代码的部分,我仍然必须维护。所以,我必须对有以下webservice的webservices进行一些调用。
@RequestMapping(value = "/mainpage", method = { RequestMethod.GET, RequestMethod.POST })
public ModelAndView portalMainPage(HttpServletRequest request, HttpServletResponse response) throws Exception {
/* Code here to do a few things */
return new ModelAndView(".company.portal.mainpage");
}
我试着从angular调用这个服务,但是你可以看到它返回一个模型和视图,并且有自己的jsp页面来渲染。
我如何从angular调用它并让它渲染jsp页面?
我试着调用它,但我得到一个HTTP 302错误信息,并且它重定向到index.html页面,这是Angular的欢迎页面。它无法渲染jsp页面。
我的方法是直接在浏览器中调用它。https:/companyportalmainpage.do。. 做完这些后,我在开发者工具中检查了网络设置。它显示302消息,然后重新将其转到index.html。
所以我能够解决这个问题。问题是在xml文件中没有视图解析器。
所以我在xml文件中添加了以下代码。添加后,问题得到解决
<mvc:annotation-driven />
<mvc:default-servlet-handler/>
<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/config/spring-tiles.xml</value>
<!-- <value>/WEB-INF/config/cwf/tiles-defs-cwf.xml</value> -->
</list>
</property>
</bean>