`
收藏列表
标题 标签 来源
判断用户名是否重复 struts json jquery
index.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$().ready(function(){
	$("#userName").blur(function(){
		$.ajax({
			url:"userAction.action",
			data:{"userName":$("#userName").val()},
			type:"post",
			dataType: 'json',
			success:function(msg){
				$("#message").html(msg);
			},
			error:function(msg){
				$("#message").html(msg);
			}
		});
	});
});
</script>
</head>
<body>
  用户名<input type="text" id="userName"><span style="color: red;" id="message"></span>
</body>
</html>


action:


/*
 * Copyright (c) 2012-2032 Accounting Center of China Aviation(ACCA).
 * All Rights Reserved.
 */
package com.acca.action;

import java.io.IOException;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**
 * 
 * 
 * @version sas-web v1.0
 * @author zhouhua, 2012-12-11
 */
public class UserAction extends ActionSupport {

    private String userName;
    private String msg;

    /**
     * @return the msg
     */
    public String getMsg() {
        return msg;
    }

    /**
     * @param msg the msg to set
     */
    public void setMsg(String msg) {
        this.msg = msg;
    }

    /**
     * @return the userName
     */
    public String getUserName() {
        return userName;
    }

    /**
     * @param userName the userName to set
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * 判断用户名是否重复
     * 
     * @return
     * @throws IOException 
     */
    public String isUserNameExist() throws IOException {
        if ("admin".equals(userName)) {
           msg="用户名已经存在,请重新输入";
           return SUCCESS;
        } else {
            msg="用户名可以使用";
            return SUCCESS;
        }
       
    }

}


struts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <package name="struts" extends="struts-default,json-default" namespace="/">
  <action name="userAction" class="com.acca.action.UserAction" method="isUserNameExist">
   <result type="json">
     <param name="root">msg</param>
   </result>
  </action>
  </package> 
</struts>    
用正则表达式返回json
			<result name="list">/WEB-INF/pages/configuration/reasonMaintenance.jsp
			</result>
			<result name="list" type="json">
				<param name="root">reasonMap</param>
				<param name="includeProperties">
					^total,^rows\[\d+\]\.sequence,^rows\[\d+\]\.category,^rows\[\d+\]\.typeName,^rows\[\d+\]\.discription,^rows\[\d+\]\.seqRtq,^rows\[\d+\]\.srsasq
				</param>
				<param name="noCache">true</param>
				<param name="contentType">text/html</param>
			</result>
BaseDao中分页查询的方法
    public PageModel<E> getByCondition(String queryString, PageModel<E> pageModel) {

        Query query = getEntityManager().createQuery(queryString);
        // 查询所有数据
        Query queryAll = getEntityManager().createQuery(queryString);
        // 设置参数
        Map<String, Object> params = pageModel.getParams();
        for (Map.Entry<String, Object> entry : params.entrySet()) {
            Object value = entry.getValue();
            String key = entry.getKey();
            if (!key.equals("sort") && !key.equals("order") && value != null && !"".equals(value)) {
                query.setParameter(key, value);
                queryAll.setParameter(key, value);
            }

        }

        // 查询所有数据
        List<E> list = queryAll.getResultList();
        // 设置总数据个数
        if (list == null) {
            pageModel.setTotal(0);
        } else {
            pageModel.setTotal(list.size());
        }

        // 分页设置
        if (pageModel.getFirstResult() <= 0) {
            query.setFirstResult(0);
        } else {
            int firstresult = pageModel.getTotal() - pageModel.getRows() < 0 ? 0 : pageModel
                    .getTotal() - pageModel.getRows();
            query.setFirstResult(pageModel.getFirstResult() >= pageModel.getTotal() ? firstresult
                    : pageModel.getFirstResult());
        }

        query.setMaxResults(pageModel.getRows());
        pageModel.setList(query.getResultList());

        return pageModel;
    }
分页模型
public class PageModel<E> implements Serializable {
	private static final long serialVersionUID = -2778873382939204283L;

	/**
	 * 当前页面
	 */
	private int page = 1;

	/**
	 * 显示多少行
	 */
	private int rows = 15;

	/**
	 * 总记录条数
	 */
	private int total;

	/**
	 * 记录数据
	 */
	private List<E> list = new ArrayList<E>();

	/**
	 * 查询需要的参数
	 */
	private Map<String, Object> params = new HashMap<String, Object>();

	public PageModel() {

	}

	public PageModel(HttpServletRequest request) {
		String page = request.getParameter("page");
		String rows = request.getParameter("rows");
		String sort = request.getParameter("sort");
		String order = request.getParameter("order");
		if (page != null && rows != null ) {
			this.page = Integer.valueOf(page);
			this.rows = Integer.valueOf(rows);
		}
		if (sort != null && order != null) {
			params.put("sort", sort);
			params.put("order", order);
		}
	}

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getRows() {
		return rows;
	}

	public void setRows(int rows) {
		this.rows = rows;
	}

	/**
	 * 分页需要的第一条记录索引

	 * 
	 * @return
	 */
	public int getFirstResult() {
		return rows * (page - 1);
	}

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public List<E> getList() {
		return list;
	}

	public void setList(List<E> list) {
		this.list = list;
	}

	public Map<String, Object> getParams() {
		return params;
	}

	public void setParams(Map<String, Object> params) {
		this.params = params;
	}

}
Global site tag (gtag.js) - Google Analytics