It took so long to find the information, and finally solved it.
Thanks Blog Park: http://www.cnblogs.com/xsht/p/5275081.html
Thank you Baidu: Http://zhidao.baidu.com/link?url= Vz4tlygvnmyyvj105bcuzkusjf0g5rm6ophvezhccajk5s1gfuz3pbgawcnsfy1rmtpf4zeo8ev_gd7sykv4s_
In the Java EE environment with struts deployment, we generally write the JSP page in the Webroot\web-inf\content directory, so that the JSP page must be controlled and forwarded by struts to access, improve the security of the page.
However, it is very difficult to apply the Css,js file found in the Webroot directory in the JSP page today, first look at my file structure:
The goal is to access Default.css in index.jsp.
DEFAUTL.CSS is the parent directory of the parent directory of the index.jsp directory under the CSS directory. So I wrote this:
PS: The space is intentionally added, I do not know why it will automatically become the site of the blog Park
<link href = "../ ../css/default.css" rel = "stylesheet" type = "text / css" />
<link href = "../ ../css/uploadify.css" rel = "stylesheet" type = "text / css" />
A hyperlink prompt also appears in Eclipes, indicating that the directory is correct, but the result fails.
After querying the information, I saw in Baidu Encyclopedia:
http://baike.baidu.com/view/1745468.htm
The WEB-INF folder under the TomCat server is a very secure file. The files in it cannot be accessed directly on the page. You must map the files to be accessed through the web.xml file to access them.
It can be seen from the above experiment that not only direct access, but also indirect access such as "../ ../" cannot succeed.
After querying the information from multiple parties, try to access it using the following methods:
<!-Output to the project root directory, namely WebRoot->
<% String path = request.getContextPath ();%>
<link href = "$ {path} /css/default.css" rel = "stylesheet" type = "text / css" />
<link href = "$ {path} /css/uploadify.css" rel = "stylesheet" type = "text / css" />
As expected, the page successfully read out the style in the css file to achieve the goal.
However, there are java scripts in this page, which are not standardized. After querying the information, the following pure EL expressions are used to implement:
<C: set value = "$ {pageContext.request.contextPath}" var = "path" scope = "page" />
<link href = "$ {path} /css/default.css" rel = "stylesheet" type = "text / css" />
<link href = "$ {path} /css/uploadify.css" rel = "stylesheet" type = "text / css" />
Put the ContextPath in the page first, and then use the el expression to get the problem out.
However, there are also a lot of programmers who are using the Struts_2 label, to achieve the above effect, there is a difference
Struts_2 tags need to access pageContext.request.contextPath, which is different from jstl in writing
<S: set value = "# request.get (‘ javax.servlet.forward.context_path ‘)" var = "cssPath" scope = "page" />
<Link rel = "stylesheet" href = "$ {cssPath} /css/index.css" />
Struts_2 tag set value attribute to access the object, the syntax is value = "# Object" or value = "% {Object}" two ways of writing
-------------------------------------------------- --------------------
Over (over)
About JAVA EE project's jsp page under the WEB-INF directory, how to access the CSS and JS files in WebRoot