Tomcat에서 로컬로 배포 한 Simple 애플리케이션과 Google App Engine 및 Heroku가 있습니다.Heroku에서 JSTL URL 태그가 작동하지 않습니다.
이 앱은 JSTL 태그를 사용하며, Heroku에서만 URL 태그 (<c:url value="/someUrl"/>
)가 모든 것을 스크류하는 추가 슬래시 앞에 붙는 것을 제외하고는 모든 배포에서 정상적으로 작동합니다. 여기의 의미는 다음과 같습니다 응용 프로그램이 "TestApp가"의 컨텍스트 배포 내 로컬 톰캣에서
<c:url value='/laundryLists/search.htm'/>
페이지에서 다음 문자열을 genreate 것이다 냈다 위의 코드 :
"/ testapp를/laundryLists/search.htm "
올바른 내용입니다. 내 GAE에서
이 주소 testApp.appspot.com에 앉아 응용 프로그램을 배포, 위의 코드는 생성올바른 "/laundryLists/search.htm"
, 여기에 있기 때문에 응용 프로그램을 문맥에 "/"(루트)에 배포 내 Heroku가 버전에서
이다 "testApp.herokuapp.com"
는정확한 동일한 코드를 생성합니다
"//laundryLists/search.htm"(이 앞으로 처음에 슬래시 통지) 링크에 배치하는 경우 때문에, 잘못
, 같은
<a href="<c:url value='/laundryLists/search.htm'/>">whatever</a>
로 링크 URL이 될 것입니다 :
http://laundryLists/search.htm
이것은 분명히 잘못되었습니다.
"forEach"와 같은 다른 JSTL 태그가 Heroku에서 잘 작동한다는 것을 언급 할 가치가 있습니다.
내 질문은 이것이 왜 Heroku에서 발생하며 어떻게 해결할 수 있습니까 (URL 하드 코딩 이외)?