【问题标题】:Spring JSP RedirectionSpring JSP 重定向
【发布时间】:2016-03-09 17:26:30
【问题描述】:

我想重定向到另一个 jsp 页面。在 Spring MVC 中但我得到 HTTP 状态 404 - /registration.jsp 错误。我想要做的就是打开页面。从主页注册新人页面或添加新产品页面

路径或项目层次结构: 我不想使用 JSTL 或标签。最好的方法是什么?

我在我的 JSP 页面上试过这个:

<ul class="nav child_menu" style="display: none"> <li><a href="${pageContext.request.contextPath}/grcon?path=register">User Registartion</a>
</li>
<li><a href="${pageContext.request.contextPath}/grcon?path=usermang">User Management</></li></ul>

还有我的控制器:

@RequestMapping(value ="/grcon/{path}" ,method = RequestMethod.GET)
    public ModelAndView getGrcon(@PathParam(value = "path") String path)
    {
        ModelAndView modegeron = null;
        if (path != null && path.equals("register")) {
           modegeron = new ModelAndView("registeruser");
        } else if (path != null && path.equals("usermang"))
                {
           modegeron = new ModelAndView("manageuser");
        } else {
           modegeron = new ModelAndView("index");
        }
        return modegeron;
    }
}

spring-dispatcher-servlet.xml

 <context:component-scan base-package="recon.controller" />

<!-- viewResolver tell which viewResolver to use it tell the location of 
        the view in the project -->

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

  <mvc:resources location="/resoures/**" mapping="/resoures/"/>
  <mvc:default-servlet-handler/>
  <mvc:annotation-driven/>
 </beans>

web.xml

<servlet>
  <servlet-name>spring-dispatcher</servlet-name>
  <servlet-class>
  org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  </servlet>

  <servlet-mapping>
  <servlet-name>spring-dispatcher</servlet-name>
  <url-pattern>/</url-pattern>
  </servlet-mapping>

  <session-config>
        <session-timeout>15</session-timeout>
        <tracking-mode>COOKIE</tracking-mode>
    </session-config>

HTTP 消息

HTTP Status 400 - Required String parameter 'path' is not present

type Status report

message Required String parameter 'path' is not present

description The request sent by the client was syntactically incorrect.
Apache Tomcat/7.0.67

【问题讨论】:

  • 尝试发布dispather xml和web.xml
  • 在您的href中,您将URL放置为/System/{path},但在您的控制器中,您映射了您在/grcon/{path}处共享的一种方法,这是您要调用的方法吗?跨度>
  • @AntJavaDev 是的,它是相同的方法
  • 好的,然后尝试在控制器或 .jsp 中更正 URL,然后再次测试
  • 你也可以在你的服务器日志中发布异常,它应该类似于No mapping found for HTTP request with URI .....

标签: java spring jsp spring-mvc model-view-controller


【解决方案1】:

您可以在控制器或 jsp 中选择请求参数或 url 模板变量。要使用 url 模板变量,请将 @PathParam(value="path") 替换为 @PathVariable(value = "path")。

在您的 jsp 中,将链接 url 替换为 href="${pageContext.request.contextPath}/grcon/register 和 href="${pageContext.request.contextPath}/grcon/usermang

要使用请求参数,请将 @PathParam(value = "path") 替换为 @RequestParam(value = "path")。然后维护您的 jsp url 链接,因为它们已经使用请求参数

注意。 PathParam 注释不是 Spring MVC 的一部分。它是用于 JEE 标准的 JAX-RS 注释

【讨论】:

【解决方案2】:

经过大量阅读后,我发现我没有做正确的事情,下面的代码对我有用

控制器

@RequestMapping(value ="/register" ,method = RequestMethod.GET)
    public ModelAndView getRegister()
    {

        ModelAndView modelregister = new ModelAndView();

        modelregister.setViewName("registeruser");
        modelregister.addObject("Registration", "info");

        return modelregister;

    }

    @RequestMapping(value ="/manageuser" ,method = RequestMethod.GET)
    public ModelAndView getManageUser()
    {

        ModelAndView modelManageUser = new ModelAndView();

        modelManageUser.setViewName("manageuser");
        modelManageUser.addObject("User Records", "records");

        return modelManageUser;

    }

JSP

<ul class="nav child_menu" style="display: none">
 <li><a href="register">User Registration</a></li>
 <li><a href="manageuser">User Management</a></li>
 </ul>

【讨论】:

    猜你喜欢
    • 2015-05-22
    • 2016-02-03
    • 2015-05-04
    • 2015-10-08
    • 1970-01-01
    • 2013-11-11
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多