2009-04-15 3 views
2

web.xml에 mime-mapping 요소를 추가하려고합니다.grails plugin의 web.xml에 mime-mapping을 추가하는 올바른 구문

나의 현재 가장 자상은 다음과 같습니다

나는 코드가 위와 같이 실행되는 알고
def doWithWebDescriptor = { xml -> 
    xml + { 
     'mime-mapping' { 
      'extension'("htc") 
      'mime-type'("text/x-component") 
     } 
    } 
} 

실제로 잘못된 web.xml 파일을 출력합니다. 다음은 더 논리적 인 것 같다하지만 실제로 어떤 효과가 없습니다 : I는 설정이라 찾을 수있는 내가 사용 Grails의 1.0.3

답변

1

def doWithWebDescriptor = { xml -> 
    xml << { 
     'mime-mapping' { 
      'extension'("htc") 
      'mime-type'("text/x-component") 
     } 
    } 
} 

가 (대신 plusleftShift주의)하십시오.

새 요소가 XML의 특정 위치에 삽입되도록하려면 요소를 삽입하려는 후 자식 요소를 가져오고 plus 연산자를 사용하여 요소를 추가 할 수 있습니다. 예를 들어, 나는 새로운 서블릿 매핑을 추가하려면 다음 코드를 사용,

def servletMappings = xml.'servlet-mapping' 
servletMappings[servletMappings.size() - 1] + { 
    'servlet-mapping' { 
     'servlet-name'("myServlet") 
     'url-pattern'("/myURL") 
    } 
} 

이에 더 파고하려면를 groovy.util.slurpersupport.NodeChild를 보라합니다 (xml 인수는 해당 유형이다)와 슈퍼 클래스 groovy.util.slurpersupport.GPathResult .

행운을 빈다.

+0

좋은 답변 ... 많이 감사합니다. –

0

흠, 유일한 :

def doWithWebDescriptor = { xml -> 
    xml.'mime-mapping' + { 
      'extension'("htc") 
      'mime-type'("text/x-component") 
     } 
} 

편집

grails.mime.file.extensions = true 

시도 확신이 true로 설정 한 다음 작동하는 코드를 다시 시도됩니다 만들기 : 제대로 요청에 마임 유형에 액세스하기 위해 설정해야합니다 재산?

+0

을, 나는 시도 이 첫 번째, 그것은 웹 애플 리케이션 –

+0

아래에 정적 파일을 위해 작동하지 않는 것 같아요, 죄송합니다,하지만 그것은 다소 관련성이있는 찾을 수있는 유일한 문서였습니다. 행운을 빕니다. – billjamesdev

2

난 당신이 지금과 같이 src/templates/war/web.xml에서 web.xml의 템플릿에 직접 mime-mapping 요소를 추가하여 같은 일을 수행 할 수 있다고 생각 : 난 두려워 후 난 꽤 어떤

<mime-mapping> 
    <extension>htc</extension> 
    <mime-type>text/x-component</mime-type> 
</mime-mapping>