zoukankan      html  css  js  c++  java
  • DWZ LookUp Suggest 教程

    单个查找带回

    jsp 代码 lookup.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
    <h2 class="contentTitle">suggest+lookup</h2>  
    <form action="demo/common/ajaxDone.html?navTabId=masterList&callbackType=closeCurrent" method="post" class="pageForm required-validate" onsubmit="return validateCallback(this, navTabAjaxDone)">  
    <div class="pageContent">  
        <div class="pageFormContent" layoutH="97">  
            <dl class="nowrap">  
                <dt>用户名称:</dt>  
                <dd>  
                    <input name="test1.id" value="" type="text"/>  
                    <input class="required" name="test1.name" type="text" postField="name" suggestFields="name"   
                        suggestUrl="./lookup!suggest.do" lookupGroup="test1"/>     
                    <span class="info">(suggest)</span>  
                </dd>  
            </dl>  
      
            <dl class="nowrap">  
                <dt>(单个)用户名称:</dt>  
                <dd>  
                    <input name="test2.id" value="" type="text" />  
                    <input class="required" name="test2.name" type="text" />  
                    <a class="btnLook" href="./lookup!searchUser.do" warn="用户" lookupGroup="test2">查找带回</a>       
                    <span class="info">(lookup)</span>  
                </dd>  
            </dl>  
            <div class="divider"></div>  
            <dl class="nowrap">  
                <dt>(多个)用户名称:</dt>  
                <dd>  
                    <input name="test3.id" value="" type="text" />  
                    <input class="required" name="test3.name" type="text" />  
                    <a class="btnLook" href="./lookup!searchUsers.do" warn="用户" lookupGroup="test3">查找带回</a>          
                    <span class="info">(lookup)</span>  
                </dd>  
            </dl>  
            <div class="divider"></div>  
        </div>  
        <div class="formBar">  
            <ul>  
                <li><div class="buttonActive"><div class="buttonContent"><button type="submit">保存</button></div></div></li>  
                <li><div class="button"><div class="buttonContent"><button class="close" type="button">关闭</button></div></div></li>  
            </ul>  
        </div>  
    </div>  
    </form> 
    View Code

    searchUser.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
      
    <form id="pagerForm" method="post" action="user!searchUser.do">  
        <input type="hidden" name="status" value="${param.status}">  
        <input type="hidden" name="keywords" value="${param.keywords}" />  
        <input type="hidden" name="pageNum" value="1" />  
        <input type="hidden" name="pages.pageNo" value="${pages.pageNo}" />  
        <input type="hidden" name="pages.pageSize" value="${pages.pageSize}" />  
    </form>  
      
    <div class="pageHeader">  
        <form rel="pagerForm" method="post" action="demo/database/dwzOrgLookup.html" onsubmit="return dwzSearch(this, 'dialog');">  
        <div class="searchBar">  
            <ul class="searchContent">  
                <li>  
                    <label>用户名称:</label>  
                    <input class="textInput" name="user.name" value="${user.name}" type="text">  
                </li>     
            </ul>  
            <div class="subBar">  
                <ul>  
                    <li><div class="buttonActive"><div class="buttonContent"><button type="submit">查询</button></div></div></li>  
                </ul>  
            </div>  
        </div>  
        </form>  
    </div>  
    <div class="pageContent">  
      
        <table class="table" layoutH="118" targetType="dialog" width="100%">  
            <thead>  
                <tr>  
                    <th orderfield="orgName">序号</th>  
                    <th orderfield="orgNum">用户名称</th>  
                    <th orderfield="leader">用户电话</th>  
                    <th orderfield="creator">请选择</th>  
                </tr>  
            </thead>  
            <tbody>  
                <c:forEach var="user" items="${pages.pages}" varStatus="status" >  
                    <tr target="sid_user" rel="${user.id}">  
                        <td>${status.count + (pages.pageNo-1)*pages.pageSize}</td>  
                        <td>${user.realName}</td>  
                        <td>${user.phone}</td>  
                        <td>  
                            <a class="btnSelect" href="javascript:$.bringBack({id:'${user.id}', name:'${user.realName}'})" title="查找带回">选择</a>  
                        </td>  
                    </tr>  
                </c:forEach>  
            </tbody>  
        </table>  
      
        <div class="panelBar">  
            <div class="pages">  
                <span>显示</span>  
                <select class="combox" name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value})">  
                    <option value="20">20</option>  
                    <option value="50">50</option>  
                    <option value="100">100</option>  
                    <option value="200">200</option>  
                </select>  
                <span>条,共${pages.count}条</span>  
            </div>  
              
            <div class="pagination" targetType="navTab" totalCount="${pages.count}" numPerPage="${pages.pageSize}" pageNumShown="10" currentPage="${pages.pageNo}"></div>  
        </div>  
    </div>  
    View Code

    searchUsers.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
      
    <form id="pagerForm" method="post" action="user!searchUser.do">  
        <input type="hidden" name="status" value="${param.status}">  
        <input type="hidden" name="keywords" value="${param.keywords}" />  
        <input type="hidden" name="pageNum" value="1" />  
        <input type="hidden" name="pages.pageNo" value="${pages.pageNo}" />  
        <input type="hidden" name="pages.pageSize" value="${pages.pageSize}" />  
    </form>  
      
    <div class="pageHeader">  
        <form rel="pagerForm" method="post" action="demo/database/dwzOrgLookup.html" onsubmit="return dwzSearch(this, 'dialog');">  
        <div class="searchBar">  
            <ul class="searchContent">  
                <li>  
                    <label>用户名称:</label>  
                    <input class="textInput" name="user.name" value="${user.name}" type="text">  
                </li>     
            </ul>  
            <div class="subBar">  
                <ul>  
                    <li><div class="buttonActive"><div class="buttonContent"><button type="submit">查询</button></div></div></li>  
                </ul>  
            </div>  
        </div>  
        </form>  
    </div>  
    <div class="pageContent">  
      
        <table class="table" layoutH="140"  width="100%">  
            <thead>  
                <tr>  
                    <th orderfield="orgName">序号</th>  
                    <th orderfield="orgNum">用户名称</th>  
                    <th orderfield="leader">用户电话</th>  
                    <th orderfield="creator">请选择</th>  
                </tr>  
            </thead>  
            <tbody>  
                <c:forEach var="user" items="${pages.pages}" varStatus="status" >  
                    <tr target="sid_user" rel="${user.id}">  
                        <td>${status.count + (pages.pageNo-1)*pages.pageSize}</td>  
                        <td>${user.realName}</td>  
                        <td>${user.phone}</td>  
                        <td>  
                            <input type="checkbox" name="orgId" value="{id:'${user.id}', name:'${user.realName}'}" />  
                        </td>  
                    </tr>  
                </c:forEach>  
            </tbody>  
        </table>  
        <div class="panelBar">  
            <div class="pages">  
                <span>显示</span>  
                <select class="combox" name="numPerPage" onchange="navTabPageBreak({numPerPage:this.value})">  
                    <option value="20">20</option>  
                    <option value="50">50</option>  
                    <option value="100">100</option>  
                    <option value="200">200</option>  
                </select>  
                <span>条,共${pages.count}条</span>  
            </div>  
              
            <div class="pagination" targetType="navTab" totalCount="${pages.count}" numPerPage="${pages.pageSize}" pageNumShown="10" currentPage="${pages.pageNo}"></div>  
        </div>  
        <div class="formBar">  
            <ul>  
                <li><div class="buttonActive"><div class="buttonContent"><button type="button" multLookup="orgId" >选择</button></div></div></li>  
                <li><div class="button"><div class="buttonContent"><button class="close" type="button">关闭</button></div></div></li>  
            </ul>  
        </div>  
    </div>  
    View Code

    suggest.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>   
    [  
    <c:forEach var="u" items="${userList}" varStatus="status" >   
        {"id":"${u.id}", "name":"${u.name}" } <c:if test="${!status.last}">,</c:if>   
    </c:forEach>  
    ]  
    View Code

    Action 代码

    package com.web.action;  
      
    import java.util.List;  
      
    import javax.annotation.Resource;  
      
    import org.springframework.context.annotation.Scope;  
    import org.springframework.stereotype.Controller;  
      
    import com.dwz.util.Pages;  
    import com.web.model.User;  
    import com.web.service.UserService;  
      
    @Controller()  
    @Scope("prototype")  
    public class LookupAction extends BaseAction {  
      
            private String      name;  
            @Resource  
            private UserService userService;  
            private List<User>  userList;  
            private Pages       pages = new Pages() ;  
            private User        user;  
            private String      orderField;  
            private String      orderDirection;  
              
              
            /** 
             *用户提示补全     
             * @return 
             */  
            public String suggest(){  
                    userList = userService.listUser(name);  
                    return RESULT;        
            }  
              
            /** 
             * 查询用户(单个) 
             * @return 
             */  
              
            public String searchUser(){  
                pages = userService.searchUser(pages.getPageNo(), pages.getPageSize(), user, orderField ,orderDirection);  
                return RESULT;  
            }  
              
            /** 
             * 查询用户(多个) 
             * @return 
             */  
              
            public String searchUsers(){  
                pages = userService.searchUser(pages.getPageNo(), pages.getPageSize(), user, orderField ,orderDirection);  
                return RESULT;  
            }  
              
      
            public String getName() {  
                return name;  
            }  
      
            public void setName(String name) {  
                this.name = name;  
            }  
      
            public void setUserService(UserService userService) {  
                this.userService = userService;  
            }  
      
            public UserService getUserService() {  
                return userService;  
            }  
      
            public void setUserList(List<User> userList) {  
                this.userList = userList;  
            }  
      
            public List<User> getUserList() {  
                return userList;  
            }  
      
            public Pages getPages() {  
                return pages;  
            }  
      
            public void setPages(Pages pages) {  
                this.pages = pages;  
            }  
      
            public User getUser() {  
                return user;  
            }  
      
            public void setUser(User user) {  
                this.user = user;  
            }  
      
            public String getOrderField() {  
                return orderField;  
            }  
      
            public void setOrderField(String orderField) {  
                this.orderField = orderField;  
            }  
      
            public String getOrderDirection() {  
                return orderDirection;  
            }  
      
            public void setOrderDirection(String orderDirection) {  
                this.orderDirection = orderDirection;  
            }  
              
              
              
    }  
    View Code

    service 代码

    package com.web.service.impl;  
      
    import java.util.List;  
      
    import javax.annotation.Resource;  
      
    import org.springframework.stereotype.Service;  
      
    import com.dwz.util.Pages;  
    import com.web.dao.UserDao;  
    import com.web.model.User;  
    import com.web.service.UserService;  
      
      
    @Service("userService")  
    public class UserServiceImpl implements UserService {  
          
        @Resource  
        private UserDao userDao;  
          
          
        @Override  
        public User getUser(int id) {  
            return userDao.get(id);  
        }  
          
        @Override  
        public void addUser(User user) {  
             userDao.insert(user);  
        }  
          
        @Override  
        public void updateUser(User user) {  
             userDao.update(user);  
        }  
          
        @Override  
        public void deleteUser(int id) {  
             userDao.delete(id);  
        }  
          
        @Override  
        public void reportUser(User user) {  
             userDao.insertOrUpdate(user ,user.getId());  
        }  
      
        @Override  
        public Pages searchUser(int pageNo ,int pageSize ,User user , String orderField ,String orderDirection){  
               String where = " where 1 = 1";  
               if(orderField!=null&&!orderField.trim().equals("")){  
                   if(orderDirection==null||orderDirection.trim().equals("")){  
                       orderDirection = "asc";  
                   }  
                     
                   where +=" order by "+orderField +" "+orderDirection;  
               }  
               return userDao.listInPages(pageNo, pageSize, where);  
        }  
          
        @Override  
        public List<User> listUser(String name){  
            String where = "";  
            if(name!=null&&!"".equals(name)){  
                where = " where name like '%"+name+"%' " ;  
            }  
            return userDao.listQuery(where);  
        }  
                  
    }  
    View Code

    有几个注意的地方

    lookupGroup  是一个组的意思,suggest 和 lookup 返回的字段,是根据名字进行查找的。如果指定的 lookupGroup 为 test1,返回的字段是 userName,sex 那么就会超找

    name 属性为  test1.userName , test1.sex 进行赋值  一般用的话 一个Model就可以是一个group ,这些东西看看源代码              dwz. database.js  

    poseField   进行代码提示时 已经输入的字 传到后台 一般进行 like 查找  poseField 设置的字段名称和action接收的属性名一直就行了的一样就可以了

    suggestFields 是显示返回的字段

    {"id":"${u.id}", "name":"${u.name}" }  
    View Code

    返回是一个数组,显示的字段可以是多个  多个的话就  name-name-name 格式

    suggestUrl 是提示的后台地址 可以看看我在Action中是怎么写的

    查找带回没有什么难的地方,上面说的有些也是通用的

    单个返回

    <a class="btnSelect" href="javascript:$.bringBack({id:'${user.id}', name:'${user.realName}'})" title="查找带回">选择</a>  
    View Code

    注意一下函数$.bringBack

    <button type="button" multLookup="orgId" >选择</button>  
    View Code

    批量带回的话注意上面的  multLookup 和 checkbox name 设置的一致就行了

    批量带回的格式为 name,name,name,name 逗号间隔方式,我一般在后台进行 手动分隔一下。

  • 相关阅读:
    阻止用户复制页面上的文字的几种方法
    js设置聊天信息停留在最底部
    js动态删除表格中的某一行
    XmlSerializer vs DataContractSerializer: Serialization in Wcf
    WCF Service Binding Explained
    Visual Studio设置远程调试
    Could not download the Silverlight application
    .NET 中的三种接口实现方式
    化零为整WCF(9) 序列化(DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, BinaryFormatter)
    化零为整WCF(14) 事务(Transaction)
  • 原文地址:https://www.cnblogs.com/donchen/p/4113042.html
Copyright © 2011-2022 走看看