2

我是新手,最近刚加入。我的 TL 要求我注意任何视图都不应该有多个 html 和 body 标签。整个应用程序是使用 struts 2 平铺开发的,所有视图都扩展到 baselayout,如下所示:

<definition name="baseLayout" template="/pages/common/baseLayout.jsp">
    <put-attribute name="title" value="XYZ - Base Layout" />
    <put-attribute name="header" value="/pages/common/header.jsp" />
    <put-attribute name="footer" value="/pages/common/footer.jsp" />
</definition>
<definition name="display.home.page" extends="baseLayout">
    <put-attribute name="title" value="XYZ - Home" />
    <put-attribute name="body" value="/pages/home/displayHomePage.jsp" />
    <put-attribute name="header" value="/pages/common/homeHeader.jsp" />
</definition>

到目前为止,每个 JSp 中都有单独的 html 和 body 标签,使得每个视图(有多个图块)都有多个 html 和 body 标签我不知道如何实现这一点。有以下疑问:

  1. 对于每个单独的视图,我应该在页眉中使用一个打开标签并在页脚中使用一个相应的关闭标签吗?
  2. 我应该只在 baseLayout.jsp 中保留 html 和 body 的开始和结束标记,并且应该从我的所有其他 JSP 中删除这两个标记,如下所示:
<html>
<head>
<meta charset="UTF-8">
<title><tiles:insertAttribute name="title" /> </title>
</head>

<body>
 <div class="gridContainer clearfix"> 
  <!--Header-->
   <div id="header"><tiles:insertAttribute name="header" /></div>
  <!--Content-->
   <div class="content-area">
     <div><tiles:insertAttribute name="body" /></div>
    </div>
 </div>
    <!--Footer-->
     <div id="footer"><tiles:insertAttribute name="footer" /></div>
      <input type="hidden" id="refreshed" value="no"><!--Footer End--> 
</body>

</html>
4

1 回答 1

1

你最好选择第二个选项。因为在每个 jsp 中保留 html 和 body 标签会导致许多其他问题。我遇到了这样的问题。因此,仅在 baselayout.jsp 中保留 html 头部主体的打开和关闭标记。以及您拥有的任何其他jsps,只保留所需的标签。请参阅struts 2 jquery 插件不起作用。这就是我所面临的。我也像你一样新鲜。:)

于 2013-10-13T12:45:25.963 回答