2012-11-30 33 views
8

Tôi hiểu rằng cải tiến Servlet 3.0 's đã làm cho nó có thể hiển thị một .jsp từ một .jar, dựa trên Can I serve JSPs from inside a JAR in lib, or is there a workaround?Có thể chia sẻ cùng một MVC giữa các lọ bên ngoài và một cuộc chiến trong môi trường Servlet 3.0 không?

Tuy nhiên, tôi dường như không thể kết nối Xem của tôi (jsp trong jar WEB-INF/lib Tomcat 7 và cấu hình ngữ cảnh MVC mùa xuân cổ điển trong Chiến tranh) với Mô hình và Bộ điều khiển Ứng dụng web của tôi.

Có cách nào tốt để chia sẻ Servlet phối, hoặc có lẽ tạo ra một CustomViewResolver mà có thể quét .jsp s trong bên ngoài JAR s, và thực sự cắm jar của tôi vào một bối cảnh mùa xuân độc đáo?

+1

Tôi nghĩ rằng câu trả lời này cũng có thể áp dụng đối với JSP: http://stackoverflow.com/questions/6104498/jee6-packaging-jsf-facelets-xhtml-and-managedbeans-as-jar –

+0

vấn đề là những gì chính xác với kết nối với servlet3 jsps và bộ điều khiển? – xeye

+0

sự cố là cách kết nối bộ điều khiển cổ điển được xác định trong ứng dụng web cổ điển (WAR) cho chế độ xem (jsp) chỉ được bao gồm trong bình bên ngoài! –

Trả lời

1

Với JSP bạn có vấn đề về biên dịch. Vì vậy, bạn ít nhất cần phải biên dịch trước chúng, để có chúng bao gồm. Sau đó, nó sẽ là có thể, kể từ sau khi biên dịch một JSP về cơ bản là một Servlet.

Nếu bạn sử dụng công nghệ chế độ xem khác như Velocity, Freemarker hoặc JSF dựa trên Facelets, bạn có thể dễ dàng sử dụng ViewResolver dựa trên classpath.