2014-08-28 50 views
0

有兩種方法具有不同的URI映射到春季啓動相同的視圖,第一個工作正常,但是,第二個只能顯示HTML和CSS無法加載,代碼如下:兩個不同的URI映射相同的視圖,一個工作正常,但css不能加載另一個

@Controller 
public class ExamController { 
    @RequestMapping("/quiz0") 
    public ModelAndView quizingA() { 
     System.out.println("run into quiz0"); 
     ModelAndView modelAndView = new ModelAndView("examination"); 
     return modelAndView; 
    } 

    @RequestMapping("/quiz1/{course}") 
    public ModelAndView quizingB(@PathVariable("course") String course) { 
     System.out.println("run into quiz1, couse choosed: " + course); 
     ModelAndView modelAndView = new ModelAndView("examination"); 
     return modelAndView; 
    } 
} 

從日誌中,他們都成功地達到了,因爲我知道,不應該有存在的錯誤,正確的?

對於第一個工作正常的網址我使用的是;

http://localhost:8080/quiz0 

對於那些失敗我使用url第二個是:

http://localhost:8080/quiz1/Java 

One的詳細信息,我有越權WebSecurityConfigurerAdapter禁用春季安全。如果需要,我可以將其粘貼出來。

任何人都可以幫忙解釋一下嗎?

在此先感謝。

+0

你」我需要o記下瀏覽器的網絡控制檯,並檢查響應是否針對CSS的HTTP請求。 – 2014-08-28 02:55:44

+0

什麼是過濾(而不是允許)CSS,配置過濾器,Servlet允許它 – 2014-08-28 02:56:13

+0

@JigarJoshi我用'http.authorizeRequests()。antMatchers(「/ css/**」,「/ js/**」 ,「/ images/**」)。permitAll();'但它不起作用。 – Junjie 2014-08-28 03:03:13

回答

2

你可能會用相對路徑而不是絕對路徑包含你的css。

例如
如果你有這樣的

<link type="text/css" href="css/bootstrap.css" rel="stylesheet"/> 

的路徑將被轉換爲

/quiz0/css/bootstrap.css 

/quiz1/{course}/bootstrap.css 

我建議使用它絕對路徑

<link type="text/css" href="/css/bootstrap.css" rel="stylesheet"/> 
+0

偉大的工作,它改變了你說的視圖後,它的作品。感謝您節省我的努力。 – Junjie 2014-08-28 13:56:26

相關問題