【问题标题】:Spring tiles - Open in new window弹簧砖 - 在新窗口中打开
【发布时间】:2015-03-31 16:24:51
【问题描述】:

在我的应用中,我使用的是 Spring MVC + tile + jsp + jquery。

我的 Spring 控制器返回两个 jsp 视图。

  1. 如果结果列表大小为 1,则返回“View1”。
  2. 如果结果列表大小大于 1,则返回“View2”。

我通过表单提交调用 Spring 控制器并使用磁贴,因此返回的视图会自动显示在正文中。

如何在新窗口中打开 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"/>

谢谢

【问题讨论】:

    标签: java jquery spring jsp tiles


    【解决方案1】:

    Spring MVC Tiles Spring 提供与apache tiles 框架的集成支持。所以我们可以简单地管理应用程序的布局。

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-16
      • 1970-01-01
      • 2013-06-06
      相关资源
      最近更新 更多