복붙노트

[SPRING] 모든 jsp 페이지에 css 및 js 파일을 포함하십시오.

SPRING

모든 jsp 페이지에 css 및 js 파일을 포함하십시오.

나는 모든 JSP 파일에 공통적 인 CSS와 JS 파일을 포함하고있다.

모든 페이지에 포함시키는 것이 가장 좋은 방법은 무엇입니까?

나는 <% @ include file = "header.jsp"%>를 사용 했었지만이 방법이 최선의 방법인지 궁금합니다.

해결법

  1. ==============================

    1.가장 좋은 해결책은 JSP 태그 파일을 사용하는 것입니다. 태그 파일을 사용하여 재사용 가능한 콘텐츠를 캡슐화 할 수 있습니다. Java doc ref

    가장 좋은 해결책은 JSP 태그 파일을 사용하는 것입니다. 태그 파일을 사용하여 재사용 가능한 콘텐츠를 캡슐화 할 수 있습니다. Java doc ref

    다음은 좋은 예입니다. https://stackoverflow.com/a/3257426/1140748

  2. ==============================

    2.나는 이것을 위해 조각을 사용하는 것을 좋아한다. JSP에서 지원하는 표준이므로 다른 의존성은 필요 없다. 그리고 당신이 볼 수 있듯이 많은 혜택을 얻을 것입니다.

    나는 이것을 위해 조각을 사용하는 것을 좋아한다. JSP에서 지원하는 표준이므로 다른 의존성은 필요 없다. 그리고 당신이 볼 수 있듯이 많은 혜택을 얻을 것입니다.

    태그 (parentpage.tag) 만들기 :

    <%@tag description="Base page" pageEncoding="UTF-8" %>
    
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
    
    <%@attribute name="extra_css" fragment="true" %>
    <%@attribute name="footer" fragment="true" %>
    <%@attribute name="header" fragment="true" %>
    
    <html>
    <head> ....
    // insert css that is needed for every page
    <jsp:invoke fragment="extra_css"/>
    <jsp:invoke fragment="header"/>
    <jsp:doBody/>
    <jsp:invoke fragment="footer"/>
    

    그런 다음이 태그를 상속 한 개별 페이지를 만듭니다.

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@taglib prefix="t" tagdir="/WEB-INF/tags" %>
    <t:parentpage>
    
        <jsp:attribute name="extra_css">
            // custom css for this page 
        </jsp:attribute>
        <jsp:attribute name="footer">
            // footer content
        </jsp:attribute>
        <jsp:body>
           // body content
        </jsp:body>
    
    </t:parentpage>
    
  3. ==============================

    3.예! 그것은 하나의 JSP에서 모든 CSS와 js defination을 가지고 모든 페이지 / JSP에 JSP를 포함시키는 좋은 옵션이 될 수 있습니다.

    예! 그것은 하나의 JSP에서 모든 CSS와 js defination을 가지고 모든 페이지 / JSP에 JSP를 포함시키는 좋은 옵션이 될 수 있습니다.

    당신이 봄을 사용하는 것처럼 표준 레이아웃을 만들고 모든 JSP로 레이아웃을 사용하는 훨씬 좋은 방법 인 https://tiles.apache.org/ 타일을 사용할 것을 제안합니다.

  4. ==============================

    4.web.xml에서 프레임 워크없이이 작업을 시도 할 수 있습니다.

    web.xml에서 프레임 워크없이이 작업을 시도 할 수 있습니다.

    <jsp-config>
       <jsp-property-group>
         <display-name>Display</display-name>
         <url-pattern>*.jsp</url-pattern>
         <el-ignored>false</el-ignored>
         <scripting-invalid>false</scripting-invalid>
         <is-xml>false</is-xml>
         <include-prelude>/template/header.jsp</include-prelude><!-- header -->
         <include-coda>/template/footer.jsp</include-coda><!-- footer -->
       </jsp-property-group>
     </jsp-config>
    

    더 자세히보기

  5. ==============================

    5.JavaScript와 CSS를 외부로 만듭니다.

    JavaScript와 CSS를 외부로 만듭니다.

    실제 세계에서 외부 파일을 사용하면 일반적으로 브라우저에서 JavaScript 및 CSS 파일을 캐시하므로 더 빠른 페이지를 생성합니다. HTML 문서에 인라인 된 JavaScript 및 CSS는 HTML 문서가 요청 될 때마다 다운로드됩니다. 이렇게하면 필요한 HTTP 요청 수가 줄어들지 만 HTML 문서의 크기가 커집니다. 반면 JavaScript 및 CSS가 브라우저에 캐시 된 외부 파일에 있으면 HTTP 요청 수를 늘리지 않고도 HTML 문서의 크기가 줄어 듭니다.

    자세한 내용은 다음 링크를 참조하십시오.

    "https://developer.yahoo.com/performance/rules.html"

    "jsp 페이지에 외부 자바 스크립트 파일 포함"

  6. from https://stackoverflow.com/questions/27034433/include-css-and-js-file-in-every-jsp-page by cc-by-sa and MIT license