很多人在使用SSM框架開發(fā)Web應(yīng)用的時(shí)候,遇到了一個(gè)非常棘手的問題,就是無論如何也無法應(yīng)用CSS樣式到頁面上。這個(gè)問題的解決方法其實(shí)非常簡單,只需要多檢查幾個(gè)方面就可以輕松解決。
首先,你需要確定你的CSS文件是在正確的路徑下。在SSM框架中,一般將靜態(tài)資源文件放在webapp/resources目錄下。你需要檢查一下你的CSS文件是否放在了這個(gè)目錄下,并且文件名是否正確(注意大小寫問題)。
webapp ├── resources │ ├── css │ │ └── style.css │ └── js │ └── script.js
如果你確定了文件路徑正確,那么你需要檢查一下你的@Controller注解是否加了@ResponseBody。如果你的@Controller被@ResponseBody注解了,那么返回的就是一個(gè)JSON數(shù)據(jù),而不是一個(gè)HTML網(wǎng)頁。因此,CSS樣式是不會被應(yīng)用到返回的JSON數(shù)據(jù)中的。
@Controller @ResponseBody @RequestMapping("/api") public class ApiController { // some code }
除了檢查@Controller注解是否加了@ResponseBody,你還需要檢查一下你的@ResponseBody注解是否加到了不該加的方法上。比如下面這個(gè)例子,加了@ResponseBody注解的方法是被用來返回?cái)?shù)據(jù)的,而不是生成一個(gè)HTML視圖。
@Controller @RequestMapping("/") public class IndexController { @RequestMapping @ResponseBody public Listindex() { return Arrays.asList("Spring", "SpringMVC", "MyBatis"); } }
最后,如果你的CSS樣式還是沒有應(yīng)用上,那么你需要檢查一下你的HTML頁面中的link標(biāo)簽是否正確。link標(biāo)簽的href屬性一定要寫對了路徑,比如下面這個(gè)例子中的路徑需要根據(jù)你的實(shí)際情況更改。
My Web Page
總之,遇到SSM應(yīng)用不上CSS樣式的問題,要多檢查路徑、@Controller注解、@ResponseBody注解和link標(biāo)簽是否正確。