重定向JSP页面错误的扩展名

时间:2013-12-12 15:26:52

标签: java hibernate jsp spring-mvc

我尝试在执行事务后进行重定向,但事务永远不会被执行。最令人惊讶的是,当我点击提交按钮时,我确实得到了这个隐藏的URL重定向,我不明白为什么? 我的控制器代码:

@RequestMapping("/saveCyclosUsers")
    public ModelAndView saveCyclosUsersCredentials(@ModelAttribute("cyclosUsers") CyclosUsers cyclosUsers, BindingResult bindingResult)
    {
        cyclosUsersService.saveCyclosUsers(cyclosUsers);
        System.out.println("Cyclos Users List:");
        return new ModelAndView("redirect/cyclosUsersList.html");   
    }

我的JSP页面:

<c:url var="userRegistration" value="saveCyclosUsers.html"/>
<form:form id="registerForm" modelAttribute="cyclosUsers" method="post" action="${userRegistration}">

DAO代码:

@Override
    public void saveCyclosUsers(CyclosUsers cyclosUsers) {
        //sessionFactory.getCurrentSession().save(cyclosUsers);
        sessionFactory.getCurrentSession().createSQLQuery("INSERT INTO lower_credit WHERE" +"WEB-INF.views.Register.ownerName.selectedItem =" + "owner_name");
    }

一旦我点击提交按钮,这就是我得到的错误: 类型状态报告

message /CyclosProjectOnOverdraft/WEB-INF/views/redirect/cyclosUsersList.html.jsp

description The requested resource is not available. 

扩展名是“cyclosUsersList.html.jsp”,html.jsp。我觉得这很奇怪。我做错了什么?

2 个答案:

答案 0 :(得分:1)

使用:

return new ModelAndView("redirect:cyclosUsersList.html"); // Not redirect/cyclosUsersList.html

答案 1 :(得分:0)

你的spring mvc applicationContext中可能有一个ViewResolver,后缀设置为'.jsp'。 因此,默认情况下,spring会将“.jsp”附加到您的视图名称。

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

为避免使用视图解析器,您可以直接返回“视图”对象,然后不使用视图解析器。您也可以使用@ResponseBody,然后绕过查看解析器。