代码之家  ›  专栏  ›  技术社区  ›  kevzettler

如何避免springmvc中前端资产的硬连接

  •  1
  • kevzettler  · 技术社区  · 16 年前

    我刚接触springmvc,有使用phpmvc框架和ROR的经验。我很难找到合适的方法来组织前端资源并将其包含到视图模板中。

    <spring:theme code="styleSheet" var="roo_css"/> 
    <spring:url value="/${roo_css}" var="roo_css_url"/>  
    <spring:url value="/static/images/favicon.ico" var="favicon" />
    <link rel="stylesheet" type="text/css" media="screen" href="${roo_css_url}"></link>
    

    理想情况下,我希望有一些路径标记,比如:${imagePage}、${stylePath},等等,我们可以插入这些标记并用于软链接。

    希望有人能给我指出一些高质量的SpringMVC文档或给出一些例子。谢谢

    更新:

    <a href="<spring:url url='/about'/ />">About</a>
    

    这将是可以接受的,但我从jetty得到以下错误

    Caused by: org.apache.jasper.JasperException: /WEB-INF/views/footer.jspx(6,22) The value of attribute "href" associated with an element type "null" must not contain the '<' character.
    

    我的编码有什么遗漏吗?还是DTD?

    更新:

    所以很明显,inline href样式只适用于.jsp文件,因为.jspx(我使用的)是严格的xml。.jspx相对于.jsp和.jsp有什么好处

    1 回复  |  直到 16 年前
        1
  •  1
  •   engfer    16 年前

    您从Roo提供的代码有点不必要。如果您查看tkeE2036所指出的SpringMVC文档。。。您将看到主题部分 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-themeresolver

    <link rel="stylesheet" href="<spring:theme code='styleSheet'/>" type="text/css"/>
    

    Spring主题标签使您能够将CSS/images/js(想象一个图像有单词“Hello”,需要为英语/西班牙语/etc更改)国际化为单独的国际化主题文件,这些文件跟随 http://java.sun.com/javase/6/docs/api/java/util/ResourceBundle.html


    如果你还想 ${imagePath} 不管怎样,你可以用 <spring:url/> 标记以完成工作。

    <spring:url value="/images" var="imagePath"/>
    <link rel="stylesheet" href="${imagePath}/foo.png" type="text/css"/>