判断用户名是否重复 |
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;
}
}
|