如何在JSP上分离内容和表示层?

时间:2013-11-13 19:18:54

标签: html css jsp twitter-bootstrap user-interface

我最近开始为网站制作一些用户界面。我目前正在使用一种名为Bootstrap的东西,它很容易入手并且看起来很好。但是背后的想法看起来效率不高,因为我们正在使jsp代码(内容)依赖于css元素,如下所示:

<tr class="row col-m-7">
  <td class="column"> ... 
      <a class="btn btn-xs btn-success"> .. </a>
  </td>
  <td class="column"> ... </td>
</tr> 

最近Bootstrap引入了一个更新的版本(v3),我不得不改变许多类属性,直到jsp获得稳定的外观。 我想将代码保存在内容和演示文稿的单独层中,因此我可以轻松切换我的UI框架而不会丢失任何内容:

内容(简单的html或jstl):

   <tr>
      <td>...
      <td>...
    </tr>

演示:

    .. somehow achieving giving a good look to the table above .. (how ???)

如何在JSP上分离内容和表示层?

1 个答案:

答案 0 :(得分:2)

<强>更新

正在开发一种名为Web Components的新标准,它将使开发人员能够创建隐藏样式和内部html标记实现的自定义html元素。例如,可以通过以下语法声明模态窗口小部件:

<bootstrap-modal>
    <h1>Hello World!</h1>
</bootstrap-modal>

在幕后,开发人员已经指定了用于呈现窗口小部件的实际html标记,该实现与自定义组件相关联。

以下是一些帮助您入门的教程:

http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/#toc-separation

http://css-tricks.com/modular-future-web-components/

https://hacks.mozilla.org/2013/08/introducing-brick-minimal-markup-web-components-for-faster-app-development/

如果所有<a>元素看起来都相同,那么你可以编写一个css类,所有<a>元素都具有相同的样式:

a {
    color:blue;
}

某些网站,无论出于何种原因,可能甚至涉及href属性的;将需要不同的<a>元素的不同颜色和样式。实现这一目标的唯一方法是使用class属性引用样式表中的css类:

a.red {
    color:red;
}

<a class="red" href="red.html"/>

这意味着如果您想为相同的元素名称设置独特的样式,您将始终需要编写将表示元素和样式链接在一起的代码。