- 浏览: 1152084 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
#*
宏pageGrid:自定义表格宏
${gridInfo}: 表格中的信息,含数据和分页信息,样式等
20行<!--表格样式需在引用css-->
26行<!--表格标题头行-->
47行<!--表格内容奇数行与偶数行在鼠标移动到上面时变色-->
55行<!--表格首列是否显示checkbox-->
54行<!-- 定义表格某列为链接列-->
63行<!--定义表格某列为链接列,引用页面需定义js函数griddetail('$id')-->
78行<!--在表格后加图片列用来操作-->
81行<!--在表格后加图片列用来操作引用页面需定义js函数$img.imageEvent('$id')-->
131行<!--引用循环页码-->
102行<!--checkbox批处理-->
*#
#macro (pageGrid $gridInfo)
<table width="100%">
<!--表格内容开始-->
<tr>
<td>
<table id="listTable" class="grid">
#set ($rowCount = 0)
#foreach ($map in $gridInfo.list)
#set ($row = $map.get("value"))
#set ($colCount = 0)
#set ($id = "")
#if ($rowCount == 0)
<tr class="blue_bold">
#foreach ($col in $row)
#if ($colCount == 0)
#if($gridInfo.gridStyle.checked)
<th></th>
#end
#else
<th>
$col
</th>
#end
#set ($colCount = $colCount + 1)
#end
#foreach ($ecol in $gridInfo.gridStyle.columns)
<th>
$ecol
</th>
#end
</tr>
#else <!--表格内容行-->
#set ($imp = $map.get("IMP"))
#set ($isOddRow = $rowCount % 2 != 0)
#if($imp == "1")
<tr class="text_bc03">
#else
#if ($isOddRow)
<tr onMouseOver='high(this);' onMouseOut='low(this);' class='odd'>
#else
<tr onMouseOver='high(this);' onMouseOut='low(this);' class='even'>
#end
#end
<script>
function colvalue(cv)
{
if(cv.length>20)
{
var pattern=RegExp("(<IMG\\s*[\\S]*\\s*/\\s*>)([\\S]*)");
if (pattern.exec(cv))
{
var str1=RegExp.$1;
var str2=RegExp.$2;
return str1+str2.substring(0,20)+"...";
}
else
{
return cv.substring(0,20)+"...";
}
}
else
{
return cv;
}
}
</script>
#foreach ($col in $row)
#if ($colCount == 0)
#set ($id = $col)
#if($gridInfo.gridStyle.checked)
<td><input type="checkbox" name="model.grid_check" value="$id"/></td>
#end
#else
#if ($colCount == $gridInfo.gridStyle.linkNum)
<td align="center" title='$col'>
#else
<td title='$col'>
#end
#if ($col == "")
#else
#if($colCount == $gridInfo.gridStyle.linkNum)
<a href="javascript:griddetail('$id');" >
<script>document.write(colvalue('$col')); </script>
</a>
#else
<script>document.write(colvalue('$col')); </script>
#end
#end
</td>
#end
#set ($colCount = $colCount + 1)
#end
#foreach ($imgs in $gridInfo.gridStyle.images)
<td>
#foreach ($img in $imgs)
#set ($imageEvent = $img.imageEvent)
<img src="$img.imagePath" alt="$img.imageTitle" onclick="javascript:img$imageEvent('$id');" style="cursor:hand"/>
#end
</td>
#end
</tr>
#end
#set ($rowCount = $rowCount + 1)
#end
</table>
</td>
</tr>
<!--表格内容结束-->
<!--分页开始-->
<tr>
<td>
<table width="100%">
<tr>
<td align="left">
#if($gridInfo.gridStyle.checked)
<td> <input type="checkbox" name="grid_check_all" onclick="javascript:selectall();"/>全部选中</td>
#end
</td>
<td align="right">
#if ($gridInfo.list)
#if ($gridInfo.gridStyle.pagable)
#set($prepage = $gridInfo.currentpage - 1)
#set($nextpage = $gridInfo.currentpage + 1)
#if ($gridInfo.gridStyle.displaySum)
共<font color="red">$gridInfo.sumrecords</font>条记录
<input type="hidden" name="model.pageGridInfo.sumrecords" value="$!{model.pageGridInfo.sumrecords}">
#end
每页<input type="text"id="pPR" name="model.pageGridInfo.perPageRows" class="page_input"value="$gridInfo.perPageRows" onchange="document.getElementById('cpage').value='1';" />条
共$gridInfo.sumpages页
#if ($gridInfo.firstPage)
<img src="/images/arrow_pre02.gif" onclick="page(1)">
#else
<img src="/images/arrow_pre02.gif">
#end
#if ($gridInfo.previousPage)
<img src="/images/arrow_pre.gif" onclick="page($prepage)">
#else
<img src="/images/arrow_pre.gif">
#end
#set($indexPage =$gridInfo.currentpage/$gridInfo.prePageNum*$gridInfo.prePageNum)
#set($lastPageNum = $indexPage+$gridInfo.prePageNum)
#pagePrint($indexPage $gridInfo.prePageNum $gridInfo.sumpages $lastPageNum)
#if ($gridInfo.nextPage)
<img src="/images/arrow_next.gif" onclick="page($nextpage)">
#else
<img src="/images/arrow_next.gif">
#end
#if ($gridInfo.endPage)
<img src="/images/arrow_next02.gif" onclick="page($gridInfo.sumpages)">
#else
<img src="/images/arrow_next02.gif">
#end
第<input type="text"id="cpage" name="model.pageGridInfo.currentpage" class="page_input" value="$gridInfo.currentpage" />页
<script language="javascript" type="text/javascript">
function pagego()
{
p=parseInt(document.getElementById('pPR').value);
s=parseInt(document.getElementById('cpage').value);
if(/[\D]/g.test(p))
{
alert('每页显示记录数必须全部是数字');
document.getElementById('pPR').value=$gridInfo.perPageRows;
}
if(p==0)
{
alert('每页显示记录数不能为零');
document.getElementById('pPR').value=$gridInfo.perPageRows;
}
if(s<=0)
{
alert('页码必须大于0');
return s=$gridInfo.currentpage;
}
if(s>$gridInfo.sumpages)
{
alert('页码必须小于总页数');
return s=$gridInfo.currentpage;
}
if(/[\D]/g.test(s))
{
alert('页码必须全部是数字');
return s=$gridInfo.currentpage;
}
else
{
return s;
}
}
</script>
<input type="button" name="pageGo" value="GO" onclick="page(pagego());" />
#end
#end
</td>
</tr>
</table>
</td>
</tr>
<!--分页结束-->
</table>
#end
<!--定义循环页码-->
#macro (pagePrint $indexPage $prePageNum $sumpages $lastPageNum)
#if ($indexPage<$lastPageNum&&$indexPage<$sumpages)
#set($indexPage =$indexPage+1)
<a href="javascript:page($indexPage)" >$indexPage</a>
#pagePrint($indexPage $prePageNum $sumpages $lastPageNum)
#end
#end
发表评论
-
springmvc+velocity 在vm模板上添加通用工具类对象变量
2012-05-29 14:55 2375在平时工作的项目中经常会在vm模板中添加自定义的工具类,由 ... -
struts2 与 velocity 整合 探究
2012-05-29 13:21 1604我这边引出几个问题。 问题1,struts2 是怎么让 v ... -
模板:velocity和freemarker的比较
2012-05-21 17:24 1941/** *作者:张荣华(ahu ... -
velocity初体验
2012-05-14 14:57 1138VelocityServlet: Java代码 ... -
Velocity中VM文件找不到问题的解决
2012-04-14 11:05 1461在Velocity中默认加载vm文件的类是FileResour ... -
Velocity模版与Ajax灵活应用
2012-04-11 13:06 5484一:先简单介绍一下velocity的模版页面 veloc ... -
velocity学习心得
2012-04-11 13:06 1500目录1. 常用的模版技术 21.1. Velocity 21 ... -
Velocity教程
2012-04-11 13:03 1067Velocity是一个基于java的模板引擎(template ... -
eclipse上的几个Velocity插件
2012-04-01 08:54 1528最近在研究XWiki,它是支持Velocity的,所以就顺便调 ...
相关推荐
为了代码的复用性和可维护性,可以将分页模板封装成一个宏库,然后在需要分页的地方引入这个宏。 四、实例分析 "PageList"可能是用于存储分页数据的一个类或者文件名,它可能包含了分页所需的信息,如当前页、总...
本项目的核心是利用Velocity模板语言和分页技术,生成具有分页功能的静态网页。 Velocity的工作原理是将HTML模板与Java代码分离,开发者可以在HTML模板中插入特定的Velocity指令,然后由Velocity引擎负责解析这些...
在这个"velocity分页的例子"中,我们将探讨如何使用Velocity实现分页功能,这对于处理大量数据的网页展示至关重要。 分页是一种用户界面设计技术,用于将大量数据分割成多个小块,每次只显示一部分,以提高用户体验...
本项目整合了这三个组件,并加入了Maven作为构建工具,以及Velocity模板引擎和PageHelper分页插件,以提供更便捷的开发体验。以下是关于这些技术的详细介绍: 1. **Spring框架**:Spring是Java企业级应用的核心框架...
本项目主要探讨的是如何将SpringBoot与Mybatis、Velocity模板引擎进行整合,以便更高效地展示和处理数据。 首先,让我们深入了解SpringBoot的核心特性。SpringBoot的设计理念是“约定优于配置”,它内置了Tomcat...
总结,"velocity+ssh2+分页+权限"的整合涉及到Web开发中的多个关键环节,包括模板引擎的使用、MVC架构的实现、数据的分页展示以及安全的权限控制。通过这样的整合,开发者可以构建出高效、安全且易于维护的企业级...
最后,创建Velocity模板文件,如index.vtl,用Velocity语法展示数据。 在实际开发中,通常会使用注解的方式,比如在Controller中使用@RequestMapping,Service和Mapper接口上使用@Service和@Mapper注解,使得整个...
你可以学习如何使用MyBatis的分页插件或者自定义分页逻辑,结合前端Velocity模板实现分页显示。 7. **数据库设计**:为了实现上述功能,你需要设计一个合适的数据库表结构。这可能涉及到数据库关系建模,以及创建...
在这个示例中,我们将深入理解如何在 Velocity 模板中实现分页宏。 分页宏的主要目的是展示数据的多个页面链接,让用户能够轻松浏览不同页的数据。在给定的代码中,`#macro(pager $url $pager)` 定义了一个名为 `...
将两者结合,我们可以利用`Velocity`的模板能力来动态生成PDF内容,这在SpringMVC框架中尤其方便。 `iText`库提供了一系列API,用于创建PDF文档、添加文字、图像、表格等元素。它支持流式和模型两种模式,前者适用...
介绍:http://blog.csdn.net/windxxf/archive/2010/10/27/5969811.aspx 基于NVelocity模板引擎实现的分页实例 数据库为Sql2005格式,App_Data目录下附加即可
Velocity和FreeMarker是两种常用的Java模板引擎,它们可以方便地结合JSP(JavaServer Pages)进行动态网页生成,并实现页面静态化。本文将详细介绍如何使用Velocity和FreeMarker模板实现页面静态化,并提供具体的...
可以考虑使用模板引擎(如FreeMarker、Velocity)或者纯字符串拼接。 5. **自定义与扩展**:为了满足不同场景的需求,分页类应该允许自定义样式、链接格式、是否显示页码列表等选项。可以设计为通过构造函数参数或...
在购物商城项目中,Velocity模板用于: - 创建动态页面:根据用户请求,结合后台数据生成个性化的页面。 - 控制页面布局:定义页面的头部、主体和底部等结构,方便维护和更新。 - 插入动态内容:在页面中插入如用户...
"YiBei"可能是这个压缩包提供的分页模板的名称。这个模板可能包含了美观的分页样式和相应的JSP代码,用于展示如何优雅地实现分页功能。通过分析和学习"YiBei"模板,开发者可以理解如何在实际项目中有效地运用JSP进行...
与JSP相比,Velocity更加专注于模板逻辑,避免了在模板中编写过多的Java代码,使页面更易于维护。在这个项目中,Velocity模板(VM)用于渲染DWZ框架的前端页面。 **DWZ (EasyUI for jQuery)**: DWZ是一个开源的...
在本文中,我们将探讨如何使用SpringMVC和Velocity框架实现一个仿Datatables的局部刷新分页功能。这个方法适用于那些不希望使用Datatables插件,但仍然需要保持页面风格统一和避免查询参数在页面上回显的情况。 ...
PageBeanTag助手类可能是在服务器端与前端交互时使用的,例如在JSP或Velocity模板中,它可以帮助渲染分页链接。`PageBeanTag`可以提供以下功能: 1. `doStartTag()`: 开始标签处理,初始化分页参数。 2. `doEndTag...
6. 模板技术:现代的JSP开发往往结合FreeMarker、Velocity等模板技术,将业务逻辑与视图分离,使得分页实现更加清晰。 7. AJAX异步分页:为了提升用户体验,可以采用AJAX技术实现页面不刷新的分页,通过JavaScript...
在实际项目中,为了提高代码复用性和可维护性,我们还会使用模板引擎(如FreeMarker或Velocity)来分离视图和逻辑,使用MVC框架(如Spring MVC)来组织项目结构,以及使用ORM框架(如Hibernate或MyBatis)来简化...