- 浏览: 285641 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
梦醒无尘:
异步处理框架已经用到项目上,感谢你利用休息时间创造出一款舒服的 ...
asyn4j 1.2 发布 -
xiaokang1582830:
有一点没有考虑到的就是是否可以提供目前已经在调用的calss和 ...
asyn4j -- 异步方法调用框架 -
snowolf:
记得曾经实现过iBatis+EhCache,实现了一个iBat ...
让ibatis 支持 memcached -
bsspirit:
很好,很好!!
java annotation 实例 -
ij仔:
...
Statement,PreparedStatement区别
最近比较闲,学习了struts2,和ibatis,所以确定利用学习到的知识开发一个网站,看到百度知道,问问,比较火,结构也比较简单,就开发了一个问答类型的网站.
网站采用 spring + struts + ibatis 搜索采用compass DB mysql
网站测试地址:http://panxiuyan34.jspcn.net/ 正式域名:www.123why.com(怎么样比较好记吧)
昨天抓取了百度的30000条数据,没有违法吧!
希望大家给我提点建议,和改进的地方.
分享一个分页代码(基于标签jstl),希望对大家有用,类似淘宝,javaeye的形式有页块
这几天没有开了,
本人美工不好,只能在IE看,以后慢慢会兼容的!谢谢
在线问答,类似百度知道
网站采用 spring + struts + ibatis 搜索采用compass DB mysql
网站测试地址:http://panxiuyan34.jspcn.net/ 正式域名:www.123why.com(怎么样比较好记吧)
昨天抓取了百度的30000条数据,没有违法吧!
希望大家给我提点建议,和改进的地方.
分享一个分页代码(基于标签jstl),希望对大家有用,类似淘宝,javaeye的形式有页块
package com.ask.page; import java.io.Serializable; import java.util.List; /** * 封装分页信息 * */ public class Pagination<T> implements Serializable { private static final long serialVersionUID = -4263336128482001626L; private int total; // 总记录数 private int pageIndex; // 当前页, 从1开始计数 private int pageSize; // 页大小 private List<T> items; // 页数据 private int startRow; // 起始行, 从1开始计数 private int endRow; // 结束行, 从1开始计数 private int pageCount;// 总页数 public Pagination() { } public Pagination(Pagination<T> page) { this.pageIndex = page.getPageIndex(); this.pageSize = page.pageSize; this.startRow = pageSize * (pageIndex - 1) + 1; this.endRow = this.startRow + pageSize - 1; } public Pagination(int pageIndex, int pageSize) { this.pageIndex = pageIndex <= 0 ? 1 : pageIndex; this.pageSize = pageSize; this.startRow = pageSize * (this.pageIndex - 1) + 1; this.endRow = this.startRow + this.pageSize - 1; } public int getTotal() { return total; } public void setTotal(int total) { this.total = total; if (total < pageSize) { this.pageCount = 1; } else { if (total % pageSize == 0) { this.pageCount = total / pageSize; } else { this.pageCount = total / pageSize + 1; } } if (pageIndex > pageCount) { this.pageIndex = this.pageCount; startRow = pageSize * (pageIndex - 1) + 1; endRow = startRow + pageSize - 1; } } public int getPageIndex() { return pageIndex; } public void setPageIndex(int pageIndex) { this.pageIndex = pageIndex; } public List<T> getItems() { return items; } public void setItems(List<T> items) { this.items = items; } public static long getSerialVersionUID() { return serialVersionUID; } /** * 起始行位置, 从1开始计数 * * @return */ public int getStartRow() { return startRow; } public void setStartRow(int startRow) { this.startRow = startRow; } /** * 结束行位置, 从1开始计数 * * @return */ public int getEndRow() { if(endRow>getTotal()){ return getTotal(); } return endRow; } public void setEndRow(int endRow) { this.endRow = endRow; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } }
public class PageTag extends SimpleTagSupport { private Pagination pagination; private String baseurl; public void setPagination(Pagination pagination) { this.pagination = pagination; } public void setBaseurl(String baseurl) { this.baseurl = baseurl; } // 分页区页码最大长度 private final static int MAX_PAGE_HTML_LENGTH = 8; // 首部和尾部连续页码的长度 private final static int PRE_LAST_PAGE_LENGTH = 5; @Override public void doTag() throws JspException, IOException { // TODO Auto-generated method stub StringBuilder sb = new StringBuilder(); if (pagination == null || pagination.getItems() == null || pagination.getItems().size() == 0) { getJspContext().getOut().print(""); return; } // 上一页 if (pagination.getPageCount() > 1) { if (pagination.getPageIndex() == 1) { sb.append(createPrePage(0, true)); } else { sb.append(createPrePage(pagination.getPageIndex() - 1, false)); } } // 当总页数小于8时显示全部页码 if (pagination.getPageCount() <= MAX_PAGE_HTML_LENGTH) { for (int i = 1; i <= pagination.getPageCount(); i++) { if (i == pagination.getPageIndex()) { sb.append(createPageIndex(i, true)); } else { sb.append(createPageIndex(i, false)); } } } else { // 当页码小于等于5时 if (pagination.getPageIndex() <= PRE_LAST_PAGE_LENGTH) { sb.append(createHeader(pagination.getPageIndex() + 1, pagination)); sb.append(createMiddle(0, pagination)); sb.append(createFooter(pagination)); } else if (pagination.getPageIndex() + 4 >= pagination .getPageCount()) {// 当页码为后5页时 sb.append(createHeader(2, pagination)); sb.append(createMiddle(0, pagination)); sb.append(createFooter(pagination)); } else { sb.append(createHeader(2, pagination)); sb.append(createMiddle(3, pagination)); sb.append(createFooter(pagination)); } } // 下一页 if (pagination.getPageCount() > 1) { if (pagination.getPageIndex() == pagination.getPageCount()) { sb.append(createNextPage(0, true)); } else { sb.append(createNextPage(pagination.getPageIndex() + 1, false)); } } sb.append(createPageInfo(pagination)); getJspContext().getOut().print(sb.toString()); } /** * 头部创建 * * @param length * @param pagination * @return */ private String createHeader(int length, Pagination pagination) { StringBuilder sb = new StringBuilder(); for (int i = 1; i <= length; i++) { if (i == pagination.getPageIndex()) { sb.append(createPageIndex(i, true)); } else { sb.append(createPageIndex(i, false)); } } return sb.toString(); } /** * 中部创建 * * @param length * @param pagination * @return */ private String createMiddle(int length, Pagination pagination) { StringBuilder sb = new StringBuilder(); if (length == 0) {// 创建点... sb.append(createPoint()); } else { sb.append(createPoint()); for (int i = pagination.getPageIndex() - 1; i <= pagination .getPageIndex() + 1; i++) { if (i == pagination.getPageIndex()) { sb.append(createPageIndex(i, true)); } else { sb.append(createPageIndex(i, false)); } } sb.append(createPoint()); } return sb.toString(); } /** * 尾部创建 * * @param pagination * @return */ private String createFooter(Pagination pagination) { StringBuilder sb = new StringBuilder(); if (pagination.getPageIndex() <= 5 || pagination.getPageIndex() + 4 < pagination.getPageCount()) { for (int i = pagination.getPageCount() - 1; i <= pagination .getPageCount(); i++) { sb.append(createPageIndex(i, false)); } } else { for (int i = pagination.getPageIndex() - 1; i <= pagination .getPageCount(); i++) { if (i == pagination.getPageIndex()) { sb.append(createPageIndex(i, true)); } else { sb.append(createPageIndex(i, false)); } } } return sb.toString(); } private String createPrePage(int pageIndex, boolean distable) { StringBuilder sb = new StringBuilder(); if (distable) { sb.append("<span class='disqp'>« 上一页</span>"); } else { sb.append("<a href='" + baseurl + getUrlStartChar()+"pageindex=" + pageIndex + "' class='qp'>« 上一页</a>"); } return sb.toString(); } private String createNextPage(int pageIndex, boolean distable) { StringBuilder sb = new StringBuilder(); if (distable) { sb.append("<span class='disqp'>下一页 »</span>"); } else { sb.append("<a href='" + baseurl + getUrlStartChar()+"pageindex=" + pageIndex + "' class='qp'>下一页 »</a>"); } return sb.toString(); } private String createPageIndex(int pageIndex, boolean cur) { StringBuilder sb = new StringBuilder(); if (!cur) { sb.append("<a href='" + baseurl + getUrlStartChar()+"pageindex=" + pageIndex + "'>"); sb.append(pageIndex); sb.append("</a>"); } else { sb.append("<span class='focuspage'>" + pageIndex + "</span>"); } return sb.toString(); } private String createPoint() { return " <span class='point'>...</span>"; } private String createPageInfo(Pagination pagination) { return "<span class='info'>共<font color=red>" + pagination.getTotal() + "</font>条 共<font color=red>" + pagination.getPageCount() + "</font>页</span>"; } /** * 返回URL参数首字符 * @return */ private String getUrlStartChar(){ if(baseurl.indexOf("?")>=0){ return "&"; }else{ return "?"; } } }
body{ font-size:12px; } .red_star{ color:red; } .pagearea{ margin-top:20px; float:right; text-align:right; width:100%; font-size:12px; } .pagearea .qp{ border:#AAAADD solid 1px; width:60px; height:10px; margin-right:3px; margin-left:3px; text-align:center; } .pagearea .disqp{ border:#EEEEEE solid 1px; width:60px; height:10px; margin-right:3px; margin-left:3px; color:#EEEEEE; } .pagearea a { border:#AAAADD solid 1px; width:25px; height:10px; margin-right:3px; margin-left:3px; text-align:center; } .pagearea .point{ width:25px; height:10px; margin-right:3px; margin-left:3px; } .pagearea .focuspage{ border:#FD6D01 solid 1px; background-color:#FFEDE1; color:#FD6D01; width:25px; height:10px; margin-right:3px; margin-left:3px; font-weight:bold; text-align:center; } .pagearea info{ color:#666666; } .pagearea a{ TEXT-DECORATION:none; color:#3366CC; }
<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <tlib-version>1.0</tlib-version> <short-name>asktag</short-name> <uri>http://com.ask.jstl</uri> <tag> <name>page</name> <tag-class>com.ask.page.taglib.PageTag</tag-class> <body-content>empty</body-content> <attribute> <name>pagination</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>baseurl</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
评论
7 楼
pan_java
2009-11-24
fei_xiang 写道
不能访问哦
这几天没有开了,
6 楼
fei_xiang
2009-11-23
不能访问哦
5 楼
fei_xiang
2009-11-23
你的域名怎么来的
4 楼
pan_java
2009-11-19
GeassLei 写道
在FireFox下看的时候,页面布局完全乱了~~
本人美工不好,只能在IE看,以后慢慢会兼容的!谢谢
3 楼
GeassLei
2009-11-19
在FireFox下看的时候,页面布局完全乱了~~
2 楼
pan_java
2009-11-19
helian 写道
干什么的?
在线问答,类似百度知道
1 楼
helian
2009-11-19
干什么的?
发表评论
-
sql 解析 工具(sql parse)
2010-11-25 12:51 5946项目地址: http://jsqlparser.source ... -
asyn4j 1.2 发布
2010-10-08 19:16 18971.2更新 1.设置关闭服务延时 2.设置异步工作 ... -
asyn4j -- 异步方法调用框架
2010-08-24 19:41 3880asyn4j 是一个java异步方法调用框架,基于消费者与生产 ... -
代码备忘录
2010-08-06 10:47 1305List 迭代 private final List& ... -
java分布式学习笔记
2010-07-19 22:05 39011.分布式JAVA应用 基于TC ... -
写正则表达式--工具分享
2010-04-07 11:06 1223这是一个写和测正则表达式很好的工具,不知大家有没有用过! 里面 ... -
mina 实现与memcached 连接工具
2010-02-24 22:00 2107前段时间学习了mina框架.就确定写一个小实例玩一下. 看到不 ... -
JMF 通过 Applet 获取数据
2009-12-22 15:15 1670import java.awt.BorderLayou ... -
yanf4j 服务端读取操作 源码分析
2009-12-19 15:13 1434最近学习 NIO,学习了XMemcached 和 它的NIO框 ... -
Statement,PreparedStatement区别
2009-12-17 16:04 2258以Oracle为例吧 Statement ... -
java 排序 整合
2009-12-17 14:59 1237package net.rubyeye.xmemcached. ... -
JVM 结束挂钩程序
2009-12-16 15:08 1199public class HookTest { /** ... -
java优化编程--读书笔记
2009-12-09 14:58 18591.JVM管理两种类型的内存:堆内存(heap),栈内存(st ... -
Java的内存泄漏
2009-11-30 11:54 992Java的一个重要优点就是通过垃圾收集器(Garbage Co ... -
TCP/IP 无阻塞 Socket
2009-11-25 17:25 1959package com.io; import java. ... -
java socket 多线程处理
2009-11-25 16:16 2299public class MallShopSoketServe ... -
写ZIP文件
2009-11-24 09:42 996public class ZipTest { /** ... -
XML DOM API
2009-11-23 11:49 1511javax.xml.parse.DocumentBuilder ... -
自定义类加载器
2009-11-23 09:34 1132public class CryptoClassLoader ... -
ibatis 缓存 key 过长,大家有什么看法
2009-11-21 10:50 1068实体类 public class Account impl ...
相关推荐
5. 新游戏信息:文件透露了一批新上线的游戏名称及其相关公司,并且提到了其中一款游戏《提灯与地下城》上线首日成绩优异。这些新游戏的市场表现对于评估公司未来的营收增长潜力具有重要意义。 6. 监管与风险:报告...
注: 软件不断更新中,有什么意见大家多多提,偶看可以的就采纳.....gh0st的成长,离不开大家的帮助. 2008/1/27 11:16 : 优化了屏幕传输算法,CPU利用率更低 2008/1/27 16:06 : 驱动以资源方式写入安装文件跟DLL文件中,...
这篇文档主要提供了关于传媒行业在2021年3月14日的市场分析和投资策略报告,其中涵盖了网易旗下新游戏《忘川风华录》即将上线的信息以及美团旗下电商业务“团好货”的发展情况。以下是根据文档内容提炼出的主要知识...
6. **开放心态**:“你说的也有一些道理,你还有什么其他的建议也可以提一提呢,时间比较紧,咱先按这个逻辑做,我回头向领导反馈下。”展现开放的态度,鼓励团队成员提出建议。 7. **灵活应变**:“到这个时间节点...
从程序本身来讲,上线了一段时间后,很多朋友看到都希望在自己站点上使用,后来越来越多的人寻求使用并提供建议,基于我们对开源的开放态度,最终决定放出来给大家使用。 iNews 在技术上是如何实现的? 赵戈戈:...
在电商行业中,网站的流程设计至关重要,因为它直接影响到用户的购物体验和后台的运营效率。以下是对给定文件中提到的电商网站流程图的详细解析: 一、用户购物流程图: 1. 开始:用户打开电商网站。 2. 进入购物区...
这份方案强调了不收取服务费,而是基于实际销售额提点的创新模式,旨在帮助商家提升销售业绩,突破行业瓶颈。 在人员配置方面,方案提出了一套完整的组织架构,包括运营店长、活动策划、美工设计和推广专员四个关键...
我们可以了解到传媒行业内部的具体运作和投资环境,对投资者来说,这是一份具有指导意义的行业周观点报告,它为IT和传媒行业的投资者提供了市场的动态信息、投资建议、行业趋势以及风险提示等重要知识点。
互联网巨头和创业公司都在这一赛道上进行积极的布局和加码,本周朴朴超市上线了“朴朴特选”,以低价策略面对社区团购的竞争;同时,京东也在筹划名为“京东优选”的社区团购项目,并且字节跳动公司也在考虑内部孵化...
【知识点详解】 本文主要讨论的是一个名为"diigoo淘宝商城"的电商平台的建设和推广策略。以下是关键知识点的详细说明: 1. **品牌建设**:品牌名称、LOGO、标准字、标准色、VI(Visual Identity)体系是品牌建设的...
报告中的“XXX”可能代表具体的产品名称,它可能是某种软件应用、网站、移动应用或其他IT解决方案。产品经理在准备这份报告时,会详细列出产品的主要特性、功能实现情况以及用户界面的用户体验。同时,他们会记录...
此外,青瓷公司参与投资的《提灯与地下城》以及紫龙游戏的《天地劫:幽城再临》等产品都进入了畅销榜TOP10和TOP5,显示了新品在市场上的强劲竞争力。 版号发放方面,2021年3月份共计发放了166个版号,较前两个月...
以下是对APP推广数据分析的主要知识点的详细解释: 1. **岗位意义**: - **营销效果监测**:通过分析数据,可以评估不同营销渠道的表现,了解哪些渠道更有效,哪些需要改进。 - **用户画像构建**:通过对用户行为...
以下是根据这些内容生成的详细知识点: 1. 传媒行业投资评级与走势分析: 报告开始处提及“投资评级:看好(维持)”,这表明分析者对传媒行业整体持有积极态度,并对已有评估维持不变。行业走势图显示了行业与沪深...
- 用户可以在天猫平台上线上预订汽车,并选择在指定实体店看车提车。 - 天猫建立了完善的物流网络,已将仓储物流渠道下沉至四五线城市,预计将在全国范围内扩大覆盖范围。 2. 京东商城(C2B模式): - 京东以底价...
5. 系统上线:将系统上线并进行后期维护。 技术架构 该系统采用JAVA语言,结合SpringBoot框架与Vue框架,以及MYSQL数据库设计并实现的。在实现过程中,需要充分考虑公司的需求和实际情况,确保系统的实用性和稳定...
如果新闻发布系统上线后才发现不能满足公司需要,这样将严重影响公司运营,不仅浪费时间和金钱,而且还会影响公司员工的士气,所以必须重视试用这个环节。 第二:可扩展。选择新闻发布系统一定要注意系统扩展性,...
其他环境,请大家自行测试 框架流程: 客户端:通过框架协议将数据提交到入口文件; 服务端-控制器:接到数据后,通过控制流程进行分流; 服务端-模型:接到分流指令,进行模块化数据处理; 服务端-视图:接到...
其他环境,请大家自行测试 框架流程: 客户端:通过框架协议将数据提交到入口文件; 服务端-控制器:接到数据后,通过控制流程进行分流; 服务端-模型:接到分流指令,进行模块化数据处理; 服务端-视图:接到...
尤其是伴随着互联网技术的飞速发展,线上线下融合已成为零售业的主流趋势,智慧零售成为新的增长点。在本文中,人人乐与腾讯全面合作的消息,正是智慧零售领域的一个重要事件,预示着传统零售业在数字化转型过程中的...