本文章系Jarvis原创,转载请注明!
利用HIBERNAGTE要实现如下功能:
也就是在下方选择要显式的项目,则在上方列表显式.
具体实现:
Struts2实现:
利用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 >
< 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 >
< 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;
}
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;
}
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;
}