本文章系Jarvis原创,转载请注明!
利用HIBERNAGTE要实现如下功能:
也就是在下方选择要显式的项目,则在上方列表显式.
具体实现:
Struts2实现:
<table width="100%" cellspacing="1" class="l_table">
<tr class="l_title">
<s:iterator value="showItems">
<td>
<s:property value="value" />
</td>
</s:iterator>
</tr>
<s:iterator value="pager.result" status="st" id="list">
<tr class="l_tr">
<s:iterator value="list" status="st1">
<td>
<s:if test="#st1.count==1">
<input type="checkbox" vlaue="<s:property value="#list[0]" />" />
</s:if>
<s:elseif test="#st1.count==2">
<a href="#"
onclick="openWindow('customer.action?cusId=<s:property value="#list[0]" />',800,600,'cusW<s:property value="#list[0]" />')"><s:property />
</a>
</s:elseif>
<s:else>
<s:property />
</s:else>
</td>
</s:iterator>
</tr>
</s:iterator>
</table>
<table width="100%" algin="center" id="selectT">
<tr>
<td align="center">
<b>显示项目</b>
</td>
</tr>
<tr>
<td>
<s:iterator value="selectItems">
<s:property value="value" />
<input type="checkbox" value="<s:property value="key" />" />
</s:iterator>
</td>
</tr>
<tr>
<td align="center">
<input type="button" id="btn_refresh" value="更 新" />
</td>
</tr>
</table>
public String execute() throws Exception {
page = page == null ? 1 : page;
pageSize = pageSize == null ? 10 : pageSize;
pager = new Page<Object[]>();
pager.setPageNo(page);
pager.setPageSize(pageSize);
pager.setStyleType(2);
pager.setTarget("list_customers.asp?pageSize=" + pageSize);
/**//* 定制列表项 */
boolean isExistCookie = false;
Cookie[] cookies = getRequest().getCookies();
for (Cookie cookie : cookies) {
if (cookie.getName().equals("showItemsStr")) {
// Cookie存在
isExistCookie = true;
if (showItemsStr != null && !showItemsStr.trim().equals("")) {
// 刷新Cookie
cookie.setValue(showItemsStr);
cookie.setMaxAge(60 * 60 * 24 * 30);
getResponse().addCookie(cookie);
} else {
// 从Cookie中读取
showItemsStr = cookie.getValue();
}
break;
}
}
// Cookie不存在
if (!isExistCookie) {
if (showItemsStr != null && !showItemsStr.trim().equals("")) {
// 创建Cookie
Cookie c = new Cookie("showItemsStr", showItemsStr);
c.setPath("/");
c.setMaxAge(60 * 60 * 24 * 30);
getResponse().addCookie(c);
}
}
if (showItemsStr == null || showItemsStr.trim().equals("")) {
// 为空 ,默认
showItemsStr = "cusNation|cusCity|cusTelNum|cusEmail";
}
showItemsStr = "id|cusName|" + showItemsStr;// id cusName 必须
showItems = getMapFromStr(showItemsStr);
pager = customerManager.getCustomers(pager, showItemsStr);
selectItems = getCusStringMap();
selectItems.remove("id");
selectItems.remove("cusName");
searchItems = getCusStringMap();
searchItems.remove("id");
return SUCCESS;
}
private Map<String, String> getMapFromStr(String str) {
str = str.trim();
if (str == null || str.equals(""))
return null;
Map<String, String> map = new LinkedHashMap<String, String>();
String[] strs = str.split("\\|");
for (String s : strs) {
map.put(s, getCusStringMap().get(s));
}
return map;
}
private Map<String, String> getCusStringMap() {
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("id", "序号");
map.put("cusName", "客户名称");
map.put("cusEmail", "电子邮件");
/*省略具体项目*/
return map;
}
public Page<Object[]> getLinkmans(Page<Object[]> page, String showItemsStr) {
String hql = "select " + showItemsStr.trim().replaceAll("\\|", ",")
+ " from Linkman";
page.setAutoCount(false);
int totalCount = linkmanDao.sum("select count(*) from Linkman")
.intValue();
page.setTotalCount(totalCount);
page.setResult(linkmanDao
.find(hql, page.getFirst(), page.getPageSize()));
return page;
}
|
|
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|
常用链接
留言簿(3)
随笔分类
随笔档案
搜索
最新评论
阅读排行榜
评论排行榜
|
|