ajax+struts2校验角色名称的唯一性

  这是对于小型项目的校验!
  第一步:需要在dao里面做一个根据角色名称查找数据库把记录查找出来。
  dao里面的方法:
  /*this method is for validate*/
  public DmRole findDmRoleByRoleName(String rolename) {
  String queryString = "from DmRole dmRole where dmRole.rolename ='"+rolename+"'";
  List list = getHibernateTemplate().find(queryString);
  if(null != list && list.size() > 0){
  return (DmRole) list.get(0);
  }
  return null;
  }
  第二步:需要在service里面做一个方法调用dao里面的这个方法
  service里面的方法:
  /*this method is for validate*/
  public DmRole findDmRoleByRoleName(String rolename){
  return dmRoleDAO.findDmRoleByRoleName(rolename);
  }
  第三步:需要再action里面做校验方法,这个校验方法需要调用service里面的这个方法
  action里面的方法:
  /*this method is for validate*/
  public String validateRoleName() throws IOException{
  HttpServletRequest sRequst= ServletActionContext.getRequest();
  String rolename = "";
  if(null != sRequst.getParameter("rolename")){
  rolename = (String)sRequst.getParameter("rolename");
  }
  System.out.println(rolename);
  ServletActionContext.getResponse().setContentType( "text/xml;charset=utf-8");
  ServletActionContext.getResponse().setHeader("Cach e-Control", "no-cache");
  PrintWriter out = ServletActionContext.getResponse().getWriter();
  // 1.取参数
  DmRole dmRole = this.roleManageService.findDmRoleByRoleName(rolena me);
  // 返回的数据需要拼装成xml格式
  StringBuilder builder = new StringBuilder();
  builder.append("");
  if (dmRole != null) {
  builder.append("").append("unpermit").append ("");
  } else {
  builder.append("").append("permit").append("");
  }
  builder.append("");
  out.println(builder.toString());
  return null;
  }
  第四步:jsp页面
  jsp页面的方法:
  (1)jsp需要引入一个文件:
  
  
  
  var checkObjs = new Array();//用于判断的隐藏域数组
  var imgObjs = new Array();//图片数组
  var divObjs = new Array();//消息层数组
  //表单重置时所做的操作
  function doOnReset(v){
  //alert(checkObjs.length);
  if(checkObjs.length > 0){
  for(i = 0; i =0)||(s.indexOf("\'")>=0)||(s.inde xOf("=0)||(s.indexOf(">")>=0)||(s.indexOf("/")>=0)|| (s.indexOf("\\")>=0)){
  return false;
  }
  return true;
  }
  //设定初始页面显示
  function setDefault(verifyObj,imgObj,divObj,v){
  $(imgObj).css("display","none");
  //$(divObj).empty();
  $(verifyObj).val(v);
  $(divObj).removeClass("fontError");
  $(divObj).addClass("fontGray");
  }
  //设定正确时的页面显示
  function setRight(verifyObj,imgObj,divObj){
  addObjs(verifyObj,imgObj,divObj);
  imgObj.src = "${pageContext.request.contextPath}/skin/images/gr id/right.gif";
  imgObj.style.display = "";
  //$(divObj).empty();
  $(divObj).removeClass("fontError");
  $(divObj).addClass("fontGray");
  //divObj.replaceAdjacentText("afterBegin","");
  verifyObj.value = "true";
  }
  //设定错误时的页面显示
  function setWrong(verifyObj,imgObj,divObj,divMsg){
  addObjs(verifyObj,imgObj,divObj);
  imgObj.src = "${pageContext.request.contextPath}/skin/images/gr id/wrong.gif";
  imgObj.style.display = "";
  $(divObj).empty();
  $(divObj).append(divMsg);
  $(divObj).removeClass("fontGray");
  $(divObj).addClass("fontError");
  verifyObj.value = "false";
  }
  //判断英文和数字
  function checkENandNum(verifyObj, dataObj, imgObj, divObj, allowEmpty, otherData){
  //addObjs(verifyObj,imgObj,divObj);
  //判断非空
  if(allowEmpty == "no" || allowEmpty == ""){
  if(Trim(dataObj.value) == ""){
  setWrong(verifyObj, imgObj, divObj, dataObj.title + "是必填项。");
  return;
  }
  }
  var name = Trim(dataObj.value);
  for(i = 0; i 64 && name.charCodeAt(i) 96 && name.charCodeAt(i) 64 && name.charCodeAt(i) 96 && name.charCodeAt(i) sysDate.getTime()){
  setWrong(verifyObj,imgObj,divObj,dateObj.title + "不能晚于当前时间。");
  return;
  }
  setRight(verifyObj,imgObj,divObj);
  }
  //检查日期是否大于系统时间
  function checkDateMoreThanSysDate(verifyObj, dateObj, imgObj, divObj){
  //addObjs(verifyObj,imgObj,divObj);
  var sdate = dateObj.value;
  var myDate;
  if(sdate != ""){
  date = sdate.split("-");
  myDate = new Date(date[0], date[1] - 1, date[2], 0, 0, 0);
  }else{
  setWrong(verifyObj,imgObj,divObj,"请选择" + dateObj.title + "。");
  return;
  }
  var sysDate = new Date();
  if(myDate.getTime() myDate2){
  setWrong(verifyObj1,imgObj1,divObj1,dateObj1.title + "不能大于" + dateObj2.title);
  setWrong(verifyObj2,imgObj2,divObj2,dateObj2.title + "不能小于" + dateObj1.title);
  return;
  }else if(myDate1 == myDate2){
  setWrong(verifyObj1,imgObj1,divObj1,dateObj1.title + "不能等于" + dateObj2.title);
  setWrong(verifyObj2,imgObj2,divObj2,dateObj2.title + "不能等于" + dateObj1.title);
  return;
  }
  }
  setRight(verifyObj1,imgObj1,divObj1);
  setRight(verifyObj2,imgObj2,divObj2);
  }
  //返回上一页面
  function GoBack(){
  window.history.back();
  }
  //ajax部分
  //获取xmlhttp对象
  function GetXmlHttpObject(handler){
  var objXmlHttp=null;
  if (navigator.userAgent.indexOf("Opera")>=0)
  {
  alert("This example doesn't work in Opera");
  return;
  }
  if (navigator.userAgent.indexOf("MSIE")>=0)
  {
  var strName="Msxml2.XMLHTTP";
  if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
  {
  strName="Microsoft.XMLHTTP";
  }
  try
  {
  objXmlHttp=new ActiveXObject(strName);
  objXmlHttp.onreadystatechange=handler;
  return objXmlHttp;
  }
  catch(e)
  {
  alert("Error. Scripting for ActiveX might be disabled");
  return ;
  }
  }
  if (navigator.userAgent.indexOf("Mozilla")>=0)
  {
  objXmlHttp=new XMLHttpRequest();
  objXmlHttp.οnlοad=handler;
  objXmlHttp.οnerrοr=handler;
  return objXmlHttp;
  }
  }
  
  (2)javascript方法
  
  $(document).ready(function() {
  $("#rolename").blur(function(){
  //失去焦点时
  validateRoleName();
  }).focus(function(){
  //获取焦点时
  $("#rolename").select();
  });
  });
  //验证角色名称的唯一性
  function validateRoleName(){
  //if(document.getElementById("checkcinemacode").va lue == "false"){return false;}
  var rolename = $.trim($("#rolename").val());
  if('' == rolename){
  return false;
  }
  $.get("${pageContext.request.contextPath}/role/rol eManage!validateRoleName.action","rolename=" + rolename,validateCallback,"xml");
  }
  function validateCallback(data){
  if("unpermit" == $(data).find("result").text()){
  //不许注册
  setWrong(document.getElementById("checkrolename"), document.getElementById("img1"),document.getElement ById("div1"), "该角色名称已存在。");
  $("#checkrolename").val("false");
  } else {
  setRight(document.getElementById("checkrolename"), document.getElementById("img1"),document.getElement ById("div1"));
  $("#checkrolename").val("true");
  }
  }
  
  (3)显示部分的jsp代码
  
  角色名称:
  
  
  
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值