簡體   English   中英

使用@RequestParam和Apache Tile 2的Spring MVC控制器

[英]Spring MVC controller using @RequestParam with Apache tile 2

我的Spring MVC + Apache tile 2項目具有以下配置。

Tile配置

<definition name="test1" extends="mymain">
    <put-attribute name="main">
        <definition template="/WEB-INF/views/tiles/template/generictemplate.jsp">
            <put-attribute name="headerstyle" value="./resources/css/header.css" type="string" /> 
            <put-attribute name="genericcontent" value="/WEB-INF/views/tiles/test.jsp" />                 
        </definition>
    </put-attribute>
</definition>
<definition name="test2" extends="mymain">
    <put-attribute name="main">
        <definition template="/WEB-INF/views/tiles/template/generictemplate.jsp">
            <put-attribute name="headerstyle" value="./resources/css/header.css" type="string" /> 
            <put-attribute name="genericcontent" value="/WEB-INF/views/tiles/test.jsp" />                 
        </definition>
    </put-attribute>
</definition>

控制器

@RequestMapping(value="/test1", method=RequestMethod.GET)
    public String test1(@RequestParam(value="id", required=true) String id){
        return "test1";
    }
@RequestMapping(value="/test2", method=RequestMethod.GET)
    public String test2(){
        return "test2";
}

視圖generictemplate.jsp

<%@ include file="include.jsp" %>
<tiles:importAttribute name="headerstyle" />
<link href="${headerstyle}" rel="stylesheet" type="text/css" />

<div role="main" class="main clearfix">
        <section class="generic">
            <div class="post">
                <tiles:insertAttribute name="genericcontent"/>
            </div>
        </section>
    <!-- end main -->
</div>

我的問題是,當我調用test2(不帶參數)時,可以讀取header.css。 但是,當調用test1時,header.css卻顯示404 Not Found 我注意到該視圖正在嘗試使用以下路徑訪問CSS

http://localhost:8080/myproject/test1/resources/css/header.css
代替
  http:// localhost:8080 / myproject / resources / css / header.css 
當test1正在調用時。 那么,為什么@RequestParam會有所不同呢?

謝謝。

這是因為css是相對於當前URL加載的。 對於test1,您有一個參數,它在test1之后添加一個斜杠。 由於test2沒有參數,因此它相對於父目錄。

您可以嘗試對CSS使用絕對路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM