[스프링 오류] tiles 오류(Request processing failed; nested exception is org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-INF/views/commons/layout.jsp'.)

2021. 4. 9. 23:47 Spring Framework/Spring 오류

아래와 같은 tiles_member.xml 파일 구동시

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
 
<tiles-definitions>
    <definition name="baseLayout"  template="/WEB-INF/views/commons/layout.jsp">
        <put-attribute name="css" value="/WEB-INF/views/commons/css.jsp" />
        <put-attribute name="side" value="/WEB-INF/views/commons/side.jsp" />
        <put-attribute name="body" value="" />
        <put-attribute name="footer" value="/WEB-INF/views/commons/footer.jsp" />
    </definition>
 
    <definition name="main" extends="baseLayout">
        <put-attribute name="body" value="/WEB-INF/views/main/index.jsp" />
    </definition>
 
    <!--
       <definition name="/member/memberForm" extends="baseLayout">
          <put-attribute name="title" value="회원등록창" />
          <put-attribute name="body" value="/WEB-INF/views/member/memberForm.jsp" />
       </definition>
 
       <definition name="/member/viewDetail" extends="baseLayout">
          <put-attribute name="title" value="회원상세창" />
          <put-attribute name="body" value="/WEB-INF/views/member/viewDetail.jsp" />
       </definition> -->
</tiles-definitions>
 
cs

 

다음과 같이 500 내부 서버 오류가 발생한다. 

오류의 원인은 layout.jsp 파일인 것으로 확인되었다.

다음과 같이 layout.jsp 파일에는 header가 있으나

tiles_member.xml에는 header attribute가 없어서 발생한 문제였다.

필자는 header를 사용하지않을 것이기 때문에 layout.jsp 해당 <tiles:inserAttribute>를 삭제해야한다.

그리고 다시 톰캣을 구동하면 정상 구동이 되어야 하는데, 간혹 out 폴더에서 tiles.xml에 있는 jsp 파일이 생성이 안되는 경우가 있다.

상기 사진은 필자가 아래와 같이 진행 후 해결된 것이다.

아래와 같이 Invalidate Cahes / Restart 진행하여 해결할 수 있으니

만약 out directory에 해당 폴더가 정상 생성이 안된다면 아래와 같이 진행 후 다시 톰캣을 구동해보도록하자

 

출처 : namubada.net/264?category=777141