在我的应用程序中,我使用的是Spring MVC + tiles + jsp + jquery。
我的Spring控制器返回两个jsp视图。
我通过表单提交调用Spring控制器,我使用tile,因此返回的视图会自动显示在正文中。
如何在新窗口中打开view2?我不知道在哪里可以说明这一点。
我的tiles.xml是这样的:
<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"/>
谢谢
答案 0 :(得分:0)
Spring MVC Tiles Spring为apache tiles框架提供集成支持。因此,我们可以简单地管理应用程序的布局。
<强>弹簧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>