使用sitemesh显示ecside(eXtermeTable)初试

                 在近期试图以sitemesh来组织页面结构,整个页面的结构为:页面顶部可以安排公司标志及菜单(Header),左边是导航(Left),右边是主要的显示区域(Main),底部页角(Footer),除了主显示区其他部分大多数情况下都是静态的。在项目中,主显示区在很多情况下都要处于编辑,修改,查询,删除数据的状态,所以鉴于eXtremeTable在处理表格数据上的优势,就选择了使用eXtremeTable来实现Main这部分的功能。非常感谢ecside对eXtremeTable的进一步改进,就决定了使用ecside实现数据的增、删、改、查,因为作者明确声明未对ecside进行sitemesh的支持,所以知道需要做些调整,看了一下ecside的一些代码后,有了一个偷懒的做法。

                我稍微测试了一下,发现在sitemesh中,通过Filter进行显示的页面被加载的代码只是body内部的代码,所以产生的问题就是在外部的代码不会被包含,如写在head中的link、script等。在显示eXtermeTable时也是同样遇到这样的问题。但是sitemesh装饰器中的body还是会正常使用的,所以一个笨笨的方法就是在sitemesh装饰器中将eXtermeTable进行初始化,如:

  1. <%@ page contentType="text/html; charset=utf8" pageEncoding="GBK"%>  
  2. <%@ taglib uri="sitemesh-decorator" prefix="decorator" %>  
  3. <%@ taglib uri="sitemesh-page" prefix="page" %>  
  4.   
  5.   
  6. <html>  
  7.   <head>  
  8.     <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=gbk"/>    
  9.     <title>  
  10.         <decorator:title default="装饰器页面..." />  
  11.     title>  
  12.     <decorator:head />  
  13.   head>  
  14.   <body onload="init();">  
  15.     <div style="position:absolute;top:0;left:0;width:1024;height:768;" align="center">  
  16.     <table border=0 cellpadding="0" cellspacing="0" width="778" align="center" id="marginSize">  
  17.           
  18.         <tr>  
  19.             <td colspan="2" width=820>  
  20.                 <page:applyDecorator page="/jsp/Header.jsp" name="panel"/>  
  21.             td>  
  22.         tr>  
  23.           
  24.         <tr>  
  25.             <td rowspan="2">  
  26.                 <page:applyDecorator page="/jsp/Left.jsp" name="panel"/>  
  27.             td>  
  28.             <td height="22">  
  29.                 <page:applyDecorator page="/jsp/Menu.jsp" name="panel"/>  
  30.             td>  
  31.         tr>  
  32.           
  33.         <tr>  
  34.             <td height="478">  
  35.                 <decorator:body />  
  36.             td>  
  37.         tr>  
  38.           
  39.         <tr>  
  40.             <td colspan="2">  
  41.                 <page:applyDecorator page="/jsp/Footer.jsp" name="panel"/>  
  42.             td>  
  43.   
  44.         tr>  
  45.            
  46.     table>  
  47.     div>  
  48.   body>  

            通过上面的方法到是可以正常的将eXtremeTable 显示出来,但是问题是如果要显示的页面中没有包含eXtremeTable 的话,在body中的脚本init(),还是会运行的,因而还是有很大问题的,希望大家能提供更好的实现方法,最好是能摆脱对body标签中init()的依赖。继续学习中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值