2013-01-08 3 views
0

우리 팀은 모두 봄 프레임 워크에서 프로젝트를 만들었고 성공적으로 실행했습니다. 이제는 더 빨리 실행하기로 결정했습니다.스프링 JSP CSS 참조 문제

기존 프로젝트 : 내 개발자는 jsp를 사용하여 동적으로 출력되는 CSS 페이지를 만들었습니다.

기존 코드 :

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <jsp:include page="/WEB-INF/common/layout/head.jsp" /> 
    < jsp:include page="/WEB-INF/common/css/index.jsp" /> 
</head> 

아웃 넣어 :

<style type="text/css"> 
    body{background: #ffffff url('<c:url value='/resources/images/logo/logo_small.png'/>') no-repeat scroll center center} 
</style> 

이 잘 작동이 코드 또는 프로젝트에 오류가 없습니다.

내가 필요한 것은 내 CSS 파일을 헤더의 링크 태그로로드해야합니다. 다음과 같이 입력하십시오 :

<link rel="stylesheet" href="/mysite/resource/css/sitemap/index.css" type="text/css"> 

브라우저에서 걸리는 속도가 빨라집니다.

지금까지 내가 한 것 : URL을 작성하여 jsp를 가리 킵니다.

<c:if test="${branch == 'sitemap'}"> 
    <c:if test="${page == 'index'}"> 
     <%@include file="/myfile/dynamic/css/layout/index.jsp" %> 
    </c:if> 
</c:if> 

이 코드는 무엇입니까? 작동하지만 문제가 있습니다. 스타일 시작 태그와 끝 태그를 입력해야합니다. 99999 위치가 문제의 원인이 여기에

<c:set var="my_css"> 
    <c:if test="${branch == 'sitemap'}"> 
     <c:if test="${page == 'index'}"> 
      <%@include file="/WEB-INF/common/css/index.jsp" %> 
     </c:if> 
    </c:if> 
</c:set> 
<c:set var="css" value='${fn:replace(fn:replace(fn:replace(my_css,"<style type=\\\"text/css\\\">", ""),"</style>", ""),"\'", "99999")}'/> 
<compress:css enabled="true"> 
    <c:out value='${css}'/> 
</compress:css> 

: 나는 가져 오기 및이 코드에 의해 대체, 그 수행. 사실 나는 그것을 & # 39;로 바꿀 필요가있다.

위의 코드는 잘 작동하고 '9999'를 대체합니다. 그러나 &으로 바꾸면 작동하지 않습니다. & 자체가 & amp으로 다시 변경됩니다.

정보 : 프로젝트가 완료되었습니다. 더 많은 CSS가 동적으로 생성됩니다. JSP 페이지 모두. Goodluck은 각 JSP 페이지가 css 코드 만 출력한다는 것입니다. Badluck은 상단과 하단에 스크립트 태그가 포함되어 있습니다. 또 하나의 불운이 URL ('')에 있습니다.

이 코드는 fn : replace 태그에서 문제를 일으키고 있습니다.

또는 더 좋은 제안이 있으면 알려 주시기 바랍니다.

쉬운 옵션이 있다고 생각합니다. 귀하의 제안, 조언 및 도움을 알려주십시오.

+1

스타일 시트 JSP에서 스타일 태그를 삭제하지 않는 이유는 무엇입니까? – soulcheck

+0

나는 ide를 사용하고 있습니다. 따라서 스타일 태그를 제거하면 제대로 동작하지 않을 것입니다. –

+0

'제대로 작동하지 않음'이란 무엇을 의미합니까? 당신이 지금하고있는 것은 당신이 skrewdriver (그리고 그것에서 작은 하나)를 사용해야하는 망치를 사용하는 것입니다. – soulcheck

답변

0

달성했습니다.

새로운 경로/resource/css | js를 만들었습니다. 내부 리소스보기 확인자 - (폴더)를 사용합니다.

내 링크 URL은 /resource/css/qtn/page1.css과 같습니다.

컨트롤러/리소스/{유형}/{페이지} .css.

여기 형 전 및 페이지를 값을 가져 내 결과를 달성하기 위해 내 동적 JSP 페이지에이를 사용 하였다.

보안을 위해 은 내 페이지에서 오는지 여부를 확인한입니다.

힌트 :

때때로 페이지 URL이 너무 /PAGE1/블록 1 우리의 컨트롤러되기 때문에 직접 패스 페이지 값이 URL 자원 할 때이 오류가 발생합니다 내부 자원 뷰 리졸버을 사용하는 동안 오류가 발생합니다.

이 문제를 해결하기 위해 페이지 값을 /resource/css/qtn/page1.css?sub=${page}으로 전달했습니다.

컨트롤러에서 우리는 쉽게이 cath sub 가치와 우리의 동적 JSP로 보낼 수 있습니다.