首页 新闻 会员 周边

SpringMVC的控制器对jsp视图解析问题

0
悬赏园豆:10 [已解决问题] 解决于 2018-04-27 12:43

我在Controller作如下映射时,无法解析出jsp视图(不可访问localhost:8080/MyProject/myJsp.jsp,报404)

@Controller
public class PageController {
    @RequestMapping("/{url}.jsp")
    public String jspPage(@PathVariable String url) {
        System.out.println("aaaaa");
        return "jsp/" + url + ".jsp";
    }
}

但是改成这样却可以:(可访问localhost:8080/MyProject/myJsp.jspp)

@Controller
public class PageController {
    @RequestMapping("/{url}.jspp")
    public String jspPage(@PathVariable String url) {
        System.out.println("aaaaa");
        return "jsp/" + url + ".jsp";
    }
}

视图解析器配置如下:

//...
//前面还有一个Velocity视图解析器
//
//

  <!-- JSP视图解析器 --> <bean id="viewResolverJsp" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/page/"/> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="viewNames" value="*.jsp" /> <property name="suffix" value=""/> <property name="order" value="1"/> </bean>

工程目录结构:

SharpeyeKardel的主页 SharpeyeKardel | 初学一级 | 园豆:30
提问于:2018-04-26 15:31
< >
分享
最佳答案
1

不建议配置*.jsp , 这个应该是被过滤掉了,不知道是不是关键字,还没时间看源码,

如果想直接访问WEB-INF下的页面,可以 配置,

<bean id="viewMappings" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
        
        <property name="defaultHandler">  
           <!--  UrlFilenameViewController 会将 "/index" 这样的请求映射成名为 "index" 的视图   -->
            <bean name="index" class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />  
        </property>   
    </bean>

可以参考:教你一步步搭建ssm框架,第一步实现springmvc下的页面跳转 - 2018 

收获园豆:10
不会摇头的风扇 | 菜鸟二级 |园豆:443 | 2018-04-26 16:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册