Próbuję, zrobić aby pliki .jsp dla pakietu np admin były w katalogu WEB-INF/pages/admin a dla pakietu setup w WEB-INF/pages/setup
https://github.com/Moorfox/BlogCreator To co próbuje zrobić w pliku mvc-dis-servlet.xml w tym projekcie lepiej zobrazuje wszystko. W ogóle ma to sens ?
- Karny k... za commitowanie targeta. Po co? o_O To samo z eclipsowym projektem i jakimiś śmieciami. Nie commituje się plików które są generowane automatycznie...
- Pisanie "pliki jsp" sugerują że używasz JSP a to bzdura. Pliki o których mówisz to szablony JSTL. Równie dobrze mógłbyś im nadać rozszerzenie
html
alboxhtml
alboxml
alboalamakota
... - Nazywanie kontekstu springa
mvc-dis-servlet.xml
sugeruje że ma to coś wspólnego z servletami, co jest bzdurą. Konfiguracje servletów to masz wweb.xml
i nigdzie więcej. - Głupie komentarze podczas commita kiedys sie na tobie zemszczą jak będziesz czegoś szukał w historii repozytorium.
- To co zrobiłeś nie ma sensu, głównie dlatego że klepiesz bezmyślnie zamiast spróbować zrozumieć co te linijki kodu oznaczają. Więc teraz włącz na chwilkę myślenie i czytaj:
<property name="prefix" value="/WEB-INF/pages/admin/" />
Co my tu mamy? Otóż mamy jakiś prefix
o pewnej wartości. Jak nie trudno sie domyślić oznacza to, że jeśli w kontrolerze będziesz tworzył widok o nazwie alamakota
to Spring doda sobie do niego prefix (i suffix) i będzie szukał pliku pod ścieżką jaka mu z tego wyjdzie. To oznacza że zamiast tego twojego śmiesznego copy-paste wystarczyłby ci prefix
<property name="prefix" value="/WEB-INF/pages/" />
a w kontrolerze dawanie /admin/cośtam
czy /setup/cośtam
- Wrzuciłem go przez przypadek
- Jednak używam pliki z rozszerżeniem .jsp jednak to szablony JSTL rozumiem, że mogę je również nazwać .dsadsa
<servlet>
<servlet-name>mvc-dis</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dis</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Jednak coś z servletu ma
4. Na razie głupie ale to zmienie. Bo zaczynam dopiero projekt
5. Właśnie, chce aby w kontrolerze dawać tylko coś tam, ze względu
<context:component-scan base-package="com.moorfox.setup" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/setup/" />
<property name="suffix" value=".jsp" />
</bean>
<context:component-scan base-package="com.moorfox.admin" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/admin/" />
<property name="suffix" value=".jsp" />
</bean>
Czy kontroler będzie znaleziony w pakiecie admin czy setup jeżeli w setup używaj prefix o wartości WEB-INF/pages/setup
Jeżeli znajdziesz go w moorfox.admin to w /WEB-INF/pages/admin , bo że mogę zrobić to twoją opcją to wiem
Ale nie chce podawać tego /setup/ lub /admin/ w kontrolerach
I to nie było copy-paste
- Wkleiłeś przecież kod z web.xml właśnie :D Jedno z drugim nie ma specjalnie nic wspólnego. Ot w web.xml masz tyle że to spring ma obsługiwać wszystkie requesty do
/
. Nazwij sobie springowy kontekstspring-context.xml
i zobaczysz że wszystko nadal będzie działać... ;] - Nie widzę jaką ci to robi różnicę za bardzo, szczególnie że nazwy nie będą sie mogły dublować więc i tak zawsze będziesz tam miał unikalny ciąg. Co za różnica czy będzie to
/admin/cośtam
czy samocośtam
? ;] Chyba tylko taka że trudniej ci się z tym będzie pracować, szczególnie pod eclipse. Bo IntelliJ potrafi jednym klikiem skakać do odpowiedniego widoku, a w eclipse będziesz ich sam szukał a jak będzie tych widoków kilkanaście to wątpię żebyś pamiętał gdzie który jest. Ale jak chcesz...
- Wkleiłem kod web.xml gdzie ten " org.springframework.web.servlet.DispatcherServlet" to servlet jak nazwa wskazuje który mi to ładnie rozprowadza. Poza tym, gdzieś czytałem, że jeśli nazywam to mvc-dis to mój xml musi się nazywać mvc-dis-servlet.xml
4/5. Nie będzie trudniej bo jeżeli pakiet nazywa się admin to automatycznie wiem, że katalog też nazywa się admin i o to mi chodzi
EDIT:
Przewiduje 3 katalogi jeden do instalacji blog'a drugi do panelu admina trzeci do strony głównej gdzie będzie treść dla użytkowników