본문 바로가기

웹개발/오류

jsp에서 html태그 노란줄, (section, nav, article 오류)




이클립스 jsp 파일에서 html 태그를 사용할때 Unknown tag라고 뜨는 오류...


실행에는 지장이 없어 무시하고 썻으나 쓰면 쓸수록 상당히 거슬려서 알아봤습니다.


위와 같이 <nav>, <section>, <article> 등의 html5태를 사용할때 나타나는 현상입니다.




<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" http://www.w3.org/TR/html4/loose.dtd">


DOCTYPE( Document Type)으로 발생한 오류 입니다.



<!DOCTYPE html>

위의 코드로 바꾸면 해당 메세지는 더이상 안뜹니다.


간단히 설명을 하자면 HTML 버전 별로 지원하는 태그가 조금씩 다릅니다.

그래서 어떤 버전의 HTML로 작정되었는지 브라우저에게 알려주는 것이 <!DOCTYPE> 입니다.

HTML 버전별 <!DOCTYPE> 선언문

<! DOCTYPE> 종류


 버전

 HTML 5

 설명

 HTML 5 버전입니다. (오직 하나 입니다.)

 선

 <!DOCTYPE html>


 버전

 HTML 4.01 Strict

 설명

 이 DTD는 모든 HTML 요소와 속성을 포함하고 있지만, 

표상적인 또는 사용되지 않는 요소가 포함되어 있지 않습니다.(글꼴 등)

프레임 셋은 허용되지 않습니다.

 선

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">


 버전

 HTML 4.01 Transitional (권장)

 설명

 이 DTD는 표상적인 및 사용되지 않는 요소를 포함하여 

모든 HTML 요소와 속성이 포함되어 있습니다.(글꼴 등)

프레임 셋은 허용되지 않습니다.

 선

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">


 버전

 HTML 4.01 Frameset

 설명

 이 DTD는 HTML 4.01 Transitional 동등하지만, 프레임 콘텐츠의 사용을 허용한다.

 선

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">


 버전

 XHTML 1.0 Strict

 설명

 이 DTD는 모든 HTML 요소와 속성을 포함하고 있지만, 

표상적인 또는 사용되지 않는 요소가 포함되어 있지 않습니다.(글꼴 등) 

프레임 셋은 허용되지 않습니다. 

태그는 또한 제대로 구성된 XML을 작성해야합니다.

 선

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


 버전

 XHTML 1.0 Transitional (권장)

 설명

 이 DTD는 표상적인 및 사용되지 않는 요소를 포함하여 

모든 HTML 요소와 속성이 포함되어 있습니다.(글꼴 등)

프레임 셋은 허용되지 않습니다. 

태그는 또한 제대로 구성된 XML을 작성해야합니다.

 선

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


 버전

 XHTML 1.0 Frameset

 설명

 이 DTD는 XHTML 1.0 Transitional과 동일하지만, 프레임 콘텐츠의 사용을 허용합니다.

 선

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">


 버전

 XHTML 1.1

 설명

 이 DTD는 XHTML 1.0 Strict과 동일하지만, 모듈을 추가 할 수 있습니다. 

(예를 들어 동아시아 언어에 대한 루비의 지원을 제공하기 위해) 

 선

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


출처&인용 : http://www.w3schools.com/tags/tag_doctype.asp

출처: http://roydest.tistory.com/entry/DOCTYPE-HTML-버전-선언 [로이데스트]



참고용으로 로이데스트님 블로그에서 퍼왔습니다. 


결론은!


<!DOCTYPE html>  이렇게 바꿔주시면 해결!


근데 매 번 저렇게 지워줄 순 없으니 따로 설정을 하도록 하겠습니다.


Preferences > Web > JSP Files > Editor > Templates


또는 Preferences 검색창에 templates



JSP with html을 선택한 뒤 Edit 버튼을 눌러줍니다.



그리고 DOCTYPE을 위와 같이 수정한뒤 OK 해주고 Apply 후 OK해주면 완료입니다.


새롭게 jsp를 만들어보니



위와 같이 잘나오네요!