Spring - rozprawadzanie widoków na katalogi

Odpowiedz Nowy wątek
2014-09-15 15:03
0

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 ?

Pozostało 580 znaków

2014-09-15 15:19
0
  1. 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...
  2. 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 albo xhtml albo xml albo alamakota...
  3. Nazywanie kontekstu springa mvc-dis-servlet.xml sugeruje że ma to coś wspólnego z servletami, co jest bzdurą. Konfiguracje servletów to masz w web.xml i nigdzie więcej.
  4. Głupie komentarze podczas commita kiedys sie na tobie zemszczą jak będziesz czegoś szukał w historii repozytorium.
  5. 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


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 2x, ostatnio: Shalom, 2014-09-15 15:20

Pozostało 580 znaków

2014-09-15 15:24
0
  1. Wrzuciłem go przez przypadek
  2. Jednak używam pliki z rozszerżeniem .jsp jednak to szablony JSTL rozumiem, że mogę je również nazwać .dsadsa
  3. 
    <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

  1. Na razie głupie ale to zmienie. Bo zaczynam dopiero projekt
  2. 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

edytowany 3x, ostatnio: MoorfoxD, 2014-09-15 15:27

Pozostało 580 znaków

2014-09-15 15:34
0
  1. 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 kontekst spring-context.xml i zobaczysz że wszystko nadal będzie działać... ;]
  2. 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 samo coś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...

Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2014-09-15 15:45
0
  1. 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
edytowany 2x, ostatnio: MoorfoxD, 2014-09-15 15:50
" <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-context.xml</param-value> </init-param> " Tylko dlatego, że masz taką linijke, bez tego trzeba zrobić jak ja mówie bo domyślnie ustawia się <servlet-name>+"-servlet" Po drugie wiesz jak to zrobić czy nie bo po to pytam. Jak będziesz chciał pokrytykować co ci się nie podoba to jak zrobie coś konkretnego wrzuce to w jakiś wątek na forum pod tytułem mój projekt - co jest źle, ty mi wytkniesz błędy, a ja nie będe ich popełniać. - MoorfoxD 2014-09-15 16:14

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0