Spring: Tiles 2 und JSTL/Welcher ViewResolver?

pizza1234

Erfahrenes Mitglied
Hallo,
gibt es eine Möglichkeit in Spring, JSTL und Tiles über einen einzigen ViewResolver zu steuern, ohne dass man mit dem ResourceBundleViewResolver arbeiten muss.
Meine momentane Konfiguration ist folgende:

Code:
<bean id="viewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
  		<property name="basename" 	value="views"/>
  		<property name="order" 		value="0" />
</bean>
	

<bean id="view1Resolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
		<property name="viewClass" 	value="org.springframework.web.servlet.view.tiles2.TilesView"/> 
		<property name="order" 		value="1" />
</bean>

<bean id="view2Resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass" 	value="org.springframework.web.servlet.view.JstlView"/>
		<property name="prefix"		value="/WEB-INF/jsp/views/"/>
		<property name="suffix" 	value=".jsp"/>
		<property name="order" 		value="2" />
</bean>

Damit deklariere ich dann die JSPs in der views.properties und für die Tiles ist der view1Resolver zuständig. Ich würde das aber gerne alles ohne die views.properties machen, da mir das so zu umständlich ist.
Leider finde ich auch in der Spring-Doku und bei Google keine vernünftigen Informationen.

Grüße,
Peter
 
Hallo Olli,

das macht er auch, aber leider nur gegen Tiles. Wenn ich aber "normale JSPs" über ihre URL ansprechen will, fällt mir das auf die Nase. Dafür benutze ich dann den "ResourceBundleViewResolver" in dem dann die JSP-URL als Property steht. Ich könnte darin auch die Tiles deklarieren, aber ich möchte halt nicht noch 'ne Konfigurationsdatei.
Deswegen dachte ich, vielleicht kann ich über die "order-property" einen passenden Resolver festlegen. Dann kann ich für Tiles halt einen "UrlBasedViewResolver" verwenden und wenn die Tile nicht gefunden wird, schlägt zB. ein "InternalResourceViewController" zu. Geht aber auch leider nicht so, da der "InternalResourceViewController" immer als Letztes aufgerufen wird.

Grüße,
Peter
 
Ja, wahrscheinlich, man bekommt dann aber auch schon wieder ganz schön Konfigurations-Overhead, was ich ja eigentlich vermeiden wollte.
Werde wohl am WE mal schauen, ob ich 'ne Lösung zusammengebastelt bekomme.

Grüße,
Peter
 

Neue Beiträge

Zurück