user.jsp<%@ page contentType="text/html;charset=UTF-8"%>
<%@ page import="org.jeaf.core.security.springsecurity.SpringSecurityUtils"%>
<%@ include file="/common/taglibs.jsp"%>
<%@ include file="/inc/common_dwz_v1.2.inc"%><div id="navTab" class="tabsPage">
<div class="tabsPageHeader">
<div class="tabsPageHeaderContent">
<ul class="navTab-tab">
<li  tabid="main" class="main"><a href="#"><span><span class="home_icon">人员列表</span></span></a></li>
</ul>
</div>
<div class="tabsLeft">left</div>
<div class="tabsRight">right</div>
<div class="tabsMore">more</div>
</div>
<div class="navTab-panel tabsPageContent">
<div class="page">
<form id="pagerForm" method="post" action="user!list.action">
<input type="hidden" name="pageNum" value="1" />
<input type="hidden" name="page.pageSize" value="${page.pageSize}" />
</form>
<div class="pageContent">
<div class="panelBar">
<ul class="toolBar">
<li><a class="add" target="navTab" rel="userAdd" href="user!input.action" title="新增用户"><span>添加</span></a></li>
<li class="line">line</li>
</ul>
</div>
<table class="table" width="100%">
<thead>
<tr>
<th width="50px"><input type="checkbox" group="ids" class="checkboxCtrl"></th>
<th>登录名</th>
<th width="120px">姓名</th>
<th width="120px">电子邮件</th>
<th width="120px">角色</th>
<th width="120px">操作</th>
</tr>
</thead>
<tbody>
<s:iterator value="page.result">
<tr>
<td><input name="ids" value="${id }" type="checkbox"/></td>
<td>${loginName}&nbsp;</td>
<td>${name}&nbsp;</td>
<td>${email}&nbsp;</td>
<td>${roleNames}&nbsp;</td>
<td>
<security:authorize ifAnyGranted="ROLE_view_user">
<security:authorize ifNotGranted="ROLE_modify_user">
<a href="user!input.action?id=${id}" class="btnView">查看</a>
</security:authorize>
</security:authorize>

<security:authorize ifAnyGranted="ROLE_modify_user">
<a href="user!input.action?id=${id}" class="btnEdit" target="navTab" rel="userEdit${id }" title="修改用户">修改</a>
<a href="user!delete.action?id=${id}" class="btnDel">删除</a>
</security:authorize>
</td>
</tr>
</s:iterator>
</tbody>
</table>
<div class="panelBar">
<div class="pages">
<span>每页</span>
<select class="combox" name="page.pageSize" param="page.pageSize" value="${page.pageSize }">
<option value="1">调整</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="50">50</option>
<option value="100">100</option>
<option value="200">200</option>
</select>
<span>条,共${page.totalCount}条,每页${page.pageSize}条</span>
</div>

<div class="pagination" totalCount="${page.totalCount}" numPerPage="${page.pageSize}" currentPage="${page.pageNo}"></div>
</div>
</div>
</div>
</div>
</div>UserAction.javapackage org.jeaf.examples.miniweb.web.account;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.jeaf.core.orm.Page;
import org.jeaf.core.orm.PropertyFilter;
import org.jeaf.core.utils.web.struts2.Struts2Utils;
import org.jeaf.examples.miniweb.dao.HibernateUtils;
import org.jeaf.examples.miniweb.entity.account.Role;
import org.jeaf.examples.miniweb.entity.account.User;
import org.jeaf.examples.miniweb.service.ServiceException;
import org.jeaf.examples.miniweb.service.account.AccountManager;
import org.jeaf.examples.miniweb.web.CrudActionSupport;
import org.springframework.beans.factory.annotation.Autowired;/**
 * 用户管理Action.
 * 
 * 使用Struts2 convention-plugin annotation定义Action参数.
 * 演示带分页的管理界面.
 * 
 * @author calvin
 */
//定义URL映射对应/account/user.action
@Namespace("/account")
//定义名为reload的result重定向到user.action, 其他result则按照convention默认.
@Results( { @Result(name = CrudActionSupport.RELOAD, location = "user.action", type = "redirect") })
public class UserAction extends CrudActionSupport<User> { private static final long serialVersionUID = 8683878162525847072L; @Autowired
private AccountManager accountManager; //-- 页面属性 --//
private Long id;
private User entity;
private Page<User> page = new Page<User>(5);//每页5条记录
private List<Long> checkedRoleIds; //页面中钩选的角色id列表 //-- ModelDriven 与 Preparable函数 --//
public void setId(Long id) {
this.id = id;
} public User getModel() {
return entity;
} @Override
protected void prepareModel() throws Exception {
if (id != null) {
entity = accountManager.getUser(id);
} else {
entity = new User();
}
}
//-- CRUD Action 函数 --//
@Override
public String list() throws Exception {
@SuppressWarnings("unused")
List<PropertyFilter> filters = PropertyFilter.buildFromHttpRequest(Struts2Utils.getRequest());
// //设置默认排序方式
// if (!page.isOrderBySetted()) {
// page.setOrderBy("id");
// page.setOrder(Page.ASC);
// }
System.out.println("user page");
User user = new User();

if (!page.isOrderBySetted()) {
page.setPageSize(10);
page.setOrderBy("id");
page.setOrder(Page.ASC);
}

page = accountManager.searchUser(page, user);
return SUCCESS;
} @Override
public String input() throws Exception {
System.out.println("user input action");
checkedRoleIds = entity.getRoleIds();
return INPUT;
} @Override
public String save() throws Exception {
//根据页面上的checkbox选择 整合User的Roles Set
HibernateUtils.mergeByCheckedIds(entity.getRoleList(), checkedRoleIds, Role.class); accountManager.saveUser(entity);
addActionMessage("保存用户成功");
return RELOAD;
} @Override
public String delete() throws Exception {
try {
accountManager.deleteUser(id);
addActionMessage("删除用户成功");
} catch (ServiceException e) {
logger.error(e.getMessage(), e);
addActionMessage("删除用户失败");
}
return RELOAD;
} //-- 其他Action函数 --//
/**
 * 支持使用Jquery.validate Ajax检验用户名是否重复.
 */
public String checkLoginName() {
HttpServletRequest request = ServletActionContext.getRequest();
String newLoginName = request.getParameter("loginName");
String oldLoginName = request.getParameter("oldLoginName"); if (accountManager.isLoginNameUnique(newLoginName, oldLoginName)) {
Struts2Utils.renderText("true");
} else {
Struts2Utils.renderText("false");
}
//因为直接输出内容而不经过jsp,因此返回null.
return null;
} //-- 页面属性访问函数 --//
/**
 * list页面显示用户分页列表.
 */
public Page<User> getPage() {
return page;
} /**
 * input页面显示所有角色列表.
 */
public List<Role> getAllRoleList() {
return accountManager.getAllRole();
} /**
 * input页面显示用户拥有的角色.
 */
public List<Long> getCheckedRoleIds() {
return checkedRoleIds;
} /**
 * input页面提交用户拥有的角色.
 */
public void setCheckedRoleIds(List<Long> checkedRoleIds) {
this.checkedRoleIds = checkedRoleIds;
}
}

解决方案 »

  1.   

    没有描述问题你可以debug下  看看 page里取的是神马玩意或者在这2句中间 打印下page的属性page = accountManager.searchUser(page, user);
            return SUCCESS;
      

  2.   

    还有request.getParameter  setsetAttribute
    了么?还是你那框架不需要啊
      

  3.   

    你好,最近我也在研究dwz的项目,很多都看不懂,网上又找不到相关应用的源码,楼主可否发给我一份用dwz框架结合jsp写的项目源码,谢谢了。。
      

  4.   

    <div class="pagination" totalCount="${page.totalCount}" numPerPage="${page.pageSize}" currentPage="${page.pageNo}"></div>
    我请教一个问题,我添加了分组组件,但是为啥不显示呢,这是什么原因造成的
      

  5.   

    http://www.cnblogs.com/interdrp/p/3178853.html  看这个
      

  6.   

    我使用的ligerUI的框架来引用了dwz框架下面的一个页面,分页为什么不能显示了?