我知道
Spring中的Apache Tiles,它似乎与jsp:include相同,但它并没有解决我的问题:
我想要一个名称为layout1.jsp的文件,在这个文件中,我将定义一个布局:
<html>
<head>
<style href="style1.css" />
</head>
<body>
<div class="main">
<div class="left">
<ul>
<li>
<li>
<li>
</ul>
</div>
<div class="content">
<h1>${message }</h1>
</div>
<div class="footer">
<span>This is footer</span>
</div>
</div>
</body>
</html>
一个文件是layout2.jsp:
<html>
<head>
<style href="style2.css" />
</head>
<body>
<div class="main">
<div class="left2">
<ul>
<li>
<li>
<li>
</ul>
</div>
<div class="content2">
<h1>${message }</h1>
</div>
<div class="footer2">
<span>This is footer</span>
</div>
</div>
</body>
</html>
当用户在组合框上选择布局名称时,控制器将在渲染布局之前设置布局动态.
我应该怎么做?
最佳答案 要切换css文件,您可以使用Spring Theme Resolver.并且你可以使用相同的机制来改变你的html的一些小部分(比如div类)
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<html>
<head>
<style href="<spring:theme code='styleSheet'/>" />
</head>
<body>
...
<div class="<spring:theme code='contentClass'/>">
<h1>${message }</h1>
</div>
...
</body>
</html>
(但我建议使用相同类的相同html,只需切换css).
别忘了设置主题解析器!