【问题标题】:Spring3 - WebFlow - JSF -- Can't get mapping of '/' to work properlySpring3 - WebFlow - JSF - 无法使“/”的映射正常工作
【发布时间】:2011-02-25 15:42:44
【问题描述】:

抱歉,如果这是一个新手问题,但我正在尝试使用 JSF/Primefaces 自学 Spring MVC/WebFlow,但我在设置它时遇到了障碍……

如果在 web.xml 中,我将 MVC 调度程序设置为捕获所有“/”,然后在我的控制器中注册 @RequestMapping(value = "/{catchall}", method = RequestMethod.GET)。该页面已提供,但资源文件都有 {catchall} 名称附加到名称的开头,例如

如果我使用 //127.0.0.1:8080/testpage

<link type="text/css" rel="stylesheet" href="/testpage/javax.faces.resource/jquery/ui/jquery-ui.css?ln=primefaces&amp;v=2.2" />

这会导致每个资源都未找到,并返回 404 错误?

如果我将 MVC 调度程序设置为“/a/*”而不是“catch-all”,则执行相同的测试,例如

//127.0.0.1:8080/a/testpage,它可以正常工作,资源显示为:

<link type="text/css" rel="stylesheet" href="/a/javax.faces.resource/jquery/ui/jquery-ui.css?ln=primefaces&amp;v=2.2" /> 

我正在尝试设置一个从数据存储动态提供页面的系统,并希望页面是 - www.whatever.com/{pagename} - 没有任何前缀结构或后缀标识符(例如 .jsp, .jsf、.xhtml 等)

如果需要,我可以发布配置,但我确定我只是错过了一些愚蠢的东西!!!!

请帮忙。

【问题讨论】:

    标签: spring model-view-controller jsf primefaces spring-webflow


    【解决方案1】:

    上次我尝试发现 Sun Mojarra 库假定您的 servlet 映射是前缀映射或扩展的 servlet 映射(但不是默认的 servlet 映射“/”)。使用不带 servlet 前缀的 URL 的最佳选择可能是使用 URL 重写技术,例如 Tuckey UrlRewriteFilter 或在 JSF PrettyFaces 中非常流行。

    【讨论】:

    • 谢谢 - 那么是 Mojarra 库为库编写 URL 吗?我以为是春天在做这个!我还假设是 Spring 错误处理了请求,即没有在 /testpage 下找到资源,而是在 /a 找到它 - 这也是 Mojarra 吗?
    猜你喜欢
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2014-07-19
    • 2014-08-24
    • 1970-01-01
    相关资源
    最近更新 更多