首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用spring使用apache tiles加载部分页面

问如何使用spring使用apache tiles加载部分页面
EN

Stack Overflow用户
提问于 2016-09-29 12:19:58
回答 2查看 1.6K关注 0票数 0

我正在使用apache来实现spring。

布局如下:

​

tiles.xml文件是:

代码语言:javascript
复制
<!-- Default Layout -->
<definition name="default_layout" template="/jsp/layout/default_layout.jsp">
    <put-attribute name="header" value="/jsp/header_footer/top_bar.jsp" />
    <put-attribute name="menu" value="/jsp/left_menu/menu.jsp" />
    <put-attribute name="body1" value="" />
    <put-attribute name="right_pane" value="/jsp/right_pane/right_pane.jsp" />
    <put-attribute name="footer" value="/jsp/header_footer/footer.jsp" />
</definition>

<definition name="home" extends="default_layout">
    <put-attribute name="body1" value="/jsp/home/home.jsp" />
</definition>

现在,它运行良好,除了场景之外,当我单击菜单时,整个页面就会重新加载。我失去了菜单中我点击的部分。

菜单被实现为

代码语言:javascript
复制
<ul>
 <li></li>
 ........
 ........
 <li></li>
</ul>

那么,是否有任何方法可以部分加载这些瓷砖,或者我可以用来修复的任何工作呢?

EN

回答 2

Stack Overflow用户

发布于 2016-10-08 23:46:24

在tiles.xml文件中

代码语言:javascript
复制
<definition name="templatename"
            template="/WEB-INF/pages/layout.jsp">
    <put-attribute name="header" value="/WEB-INF/pages/includes/header.jsp" />
     <put-attribute name="sidebar" value="WEB-INF/pages/includes/sidebar.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="rightsidebar" value="/WEB-INF/pages/includes/rightsidebar.jsp" />
    <put-attribute name="footer" value="/WEB-INF/pages/includes/footer.jsp" />
</definition>

在tiles.xml中提到的右目录下为页眉、页脚、侧边栏创建页面,并通过layout.jsp创建带有标记的模板名。

代码语言:javascript
复制
<tiles:insertAttribute name="header" />
<tiles:insertAttribute name="sidebar" />
<tiles:insertAttribute name="rightsidebar" />
<tiles:insertAttribute name="body" />
<tiles:insertAttribute name="footer" />

然后您可以通过spring控制器url-模式调用页面。

将此添加到tiles.xml中

代码语言:javascript
复制
<definition name="/dosomething" extends="templatename">
    <put-attribute name="title" value="dosomething" />
    <put-attribute name="body" value="/WEB-INF/pages/login/dosomething.jsp" />
</definition>

对于部分体加载,创建一个页面dosomething.jsp

票数 0
EN

Stack Overflow用户

发布于 2018-10-13 16:49:55

在您的情况下,实现部分呈现的唯一方法是使用Jquery的Load方法。

在锚标记中的sidebar.jsp中编写一个onclick="test()",

代码语言:javascript
复制
function test() {

$("#Maincontent").load("${pageContext.request.contextPath}/yourcontrollerMapping");

}

您可以使用div(Maincontent)来指定要在layout.jsp中加载内容的区域(因为Apache将刷新所有元素,包括侧栏)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39770165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档