从控制器转发到JSP

时间:2015-03-14 13:43:33

标签: spring spring-mvc struts

我想知道如何通过ModelAndView将请求从控制器中的ForwardAction对象转发到JSP页面。我在Struts中有这样的东西。请告诉我如何在Spring中执行此操作

InformLoginAction.java

public class InformLoginAction extends Action{
public ActionForward execute( ........,......HttpServletRequest  request,
                                 HttpServletResponse response)
{
.
.
.
.
return(mapping.findForward("LOCMain"));
}

struts-config.xml

    <global-forwards>
    <forward name="LOCMain" path="/LOCMainMenu.do" redirect="false" />

 <action-mappings>
    <action
      path="/LOCMainMenu"
      type="org.apache.struts.actions.ForwardAction"
      parameter="crp.loc.main"><!--This is present in tiles-def.xml-->
    </action>

瓦片-def.xml

<definition name="crp.loc.main" extends="crp.main" >
<put name="body" value="/menu.jsp"  />

总结一下,InformLoginAction返回“LOCMain”,转发到“/menu.jsp”。请告诉我这个前锋如何在春季处理。我在trade-servlet.xml中尝试过类似的东西。请纠正我

    <bean 
  class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />


    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass"
            value="org.springframework.web.servlet.view.JstlView"></property>
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean> 

    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/menu.jsp">LOCMain</prop>
            </props>
        </property>
    </bean>

    <bean name="LOCMain" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
    <property name="viewName" value="/LOCMain" />
    </bean>

    <bean class="org.springframework.web.servlet.view.XmlViewResolver">
       <property name="location">
           <value>/WEB-INF/spring-views.xml</value>
       </property>
       <property name="order" value="0" />
     </bean>

我不断收到'请求的资源不可用'错误。

1 个答案:

答案 0 :(得分:0)

如果返回值的类型为String,则Spring将转发到Controller Handler方法的返回值。如果返回ModelAndView,则为视图名称。我更喜欢回归弦乐。

@Controller
public class FooController {

  @RequestMapping("/LOCMainMenu")
  String getMenu() {
    return "/WEB-INF/views/menu.jsp";
  }
}

如果请求URL为/LOCMainMenu,Spring Dispatcher将查找并运行您的getMenu处理程序方法。然后它会转发到它的返回值。