java - Spring tiles - Open in new window -
in app i'm using spring mvc + tiles + jsp + jquery.
my spring controller returns 2 jsp views.
- if result list size 1 return "view1".
- if result list size greater 1 return "view2".
i call spring controller form submit , work tiles, returned view shown in body automatically.
how can open view2 in new window? don't know can configurate this.
my tiles.xml this:
<definition name="view1" extends="standardlayouttemplate"> <put-attribute name="body" value="/web-inf/jsp/views/screens/view1.jsp" /> </definition> <definition name="view2" template = "/web-inf/jsp/views/screens/view2.jsp"/> thank you
spring mvc tiles spring provides integration support apache tiles framework. can manage layout of our application.
spring-servlet.xml
<bean id="viewresolver" class="org.springframework.web.servlet.view.urlbasedviewresolver"> <property name="viewclass"> <value>org.springframework.web.servlet.view.tiles2.tilesview</value> </property> </bean> <bean id="tilesconfigurer" class="org.springframework.web.servlet.view.tiles2.tilesconfigurer"> <property name="definitions"> <list> <value>/web-inf/tiles.xml</value> </list> </property> </bean> tile.xml
<tiles-definitions> <definition name="defaulttemplate" template="/web-inf/jsp/layout.jsp"> <put-attribute name="title" value="" /> <put-attribute name="header" value="/web-inf/jsp/header.jsp" /> <put-attribute name="menu" value="/web-inf/jsp/menu.jsp" /> <put-attribute name="body" value="" /> <put-attribute name="footer" value="/web-inf/jsp/footer.jsp" /> </definition> </tiles-definitions> view.jsp
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %> <tiles:insertdefinition name="defaulttemplate"> <tiles:putattribute name="body"> <body> . . . . </body> </tiles:putattribute> </tiles:insertdefinition> layout.jsp
<style type="text/css"> body { margin: 0; padding: 0; width:100%; height:100%; } #container { width:100%; } #header { width:100%; height:5%; position:fixed; background-color:#a0a0a0 ; } #sidebar { top: 5%; position:fixed; left:0; height:90%; width:13%; background-color:#d0d0d0 ; } #content { top:5%; position:fixed; right:0; height: 90%; width: 87%; overflow:auto; background-color: white; } #footer { bottom:0; position:fixed; width:100%; height:5%; background-color:#a0a0a0 ; } </style> </head> <body> <div id="container"> <div id="header"> <tiles:insertattribute name="header"> </div> <div id="sidebar"><tiles:insertattribute name="menu"> </div> <div id="content"><tiles:insertattribute name="body"> </div> <div id="footer"> <tiles:insertattribute name="footer"> </div> </div>
Comments
Post a Comment