在我的UI代码中,我有一个指向css样式表的链接,其中href =“url for spring controller”。
我希望Spring Controller返回UI页面用于样式化的CSS文件。
首先我想知道,如果这是可能的话?,其次是Spring Controller需要返回什么?我是否需要返回css文件的byte []表示并将其放在ResponseEntity中,或者在Servlet响应中使用某种输出流?
喜欢什么?
@RequestMapping(value = "/getCSS/{userId}", method= RequestMethod.GET, produces={"text/css"})
@ResponseStatus(HttpStatus.OK)
public ??? getCSS(){
}
具有控制器的UI代码和Spring应用程序不属于同一项目。
不同的用户有不同的样式,Spring应用程序从数据库中获取用户css文件。因此,css文件不能简单地放入/ static文件夹或/ resources文件夹,因为不同的用户会有不同的css文件。
答案 0 :(得分:0)
您可以在webapp文件夹中放置静态资源(如果它们不必受保护)。例如webapp/static/style.css
您可以使用以下代码获取此文件:localhost:8080/applicationName/static/style.css
答案 1 :(得分:0)
CONTROLER
-> _
Webservlet.xml
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class WebController {
@RequestMapping(value = "/staticPage", method = RequestMethod.GET)
public String redirect() {
return "redirect:/static/final.css";
}
}
此外,您可以返回页面,如html,jsp
答案 2 :(得分:0)
如果资源位于不同的项目中,您可以在applicationContext中存储该项目的名称,并在您的视图${applicationScope.resourcesProject}
中像这样引用它
<link href="/${applicationScope.resourcesProject}/resources/css/style.css" rel="stylesheet" type="text/css"/>