spring mvc 检查添加的某个字段是否在数据库里已经存在

这篇博客介绍了如何在Spring MVC中进行客户端输入的测站编码字段检查,确保其在数据库中不重复。通过在JSP页面中设置onblur事件调用doCheck()函数,当用户离开输入框时,控制器的stationcheck方法会被触发。该方法从请求中获取编码,查询数据库中所有测站编码,并对比是否存在相同的编码。如果存在,则返回红色警告信息,提示编码已存在;否则,返回蓝色信息,表明编码可用。
摘要由CSDN通过智能技术生成

js:

<script type="text/javascript">

 //声明一个XMLHttpRequest对象的引用变量
 var xhr;
 function createXHR(){
// 如果ActiveX对象可用,则使用的肯定是IE浏览器
if(window.ActiveXObject){
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
}else{
    // 如果客户端使用的是非IE浏览器,使用Javascript方法处理   
xhr = new XMLHttpRequest();
}
}
  //检查测站编码是否可用的方法
  function doCheck(){
  // alert("${pageContext.request.contextPath}");
  //调用获取对象的方法
  createXHR();
   //获取输入的测站编码
   var add_station_stcd= document.getElementById('add_station_stcd').value;
   //接下来借助XMLHttpRequest对象提交异步请求到后台
   //1.打开到服务器的连接,使用Get方式请求${pageContext.request.contextPath}/user?add_station_stcd="+add_station_stcd
  xhr.open("GET", "${pageContext.request.contextPath}/stationcheck.do?method=stationcheck&add_station_stcd="+add_station_stcd, true);
   //2.监听readyState值改变的事件
  xhr.onreadystatechange=function(){   
     if(xhr.readyState==4&&xhr.status==200){
      //获取服务器端返回的Text
      var str=xhr.responseText;
      // alert(str);
      //获取显示提示文字的span
      var spanInfo=document.getElementById("message");
      //把后台返回的信息显示到span上
      spanInfo.innerHTML=str;
     }
  };
  //3.发送数据,如果要发送的数据已经在url拼接了,这里就传null
  xhr.send(null);
   }

  </script> 

jsp:

  <tr>
                <td>测站编码</td>
                <td><input type="text" id="add_station_stcd"  name="add_station_stcd" style="width: 40%" οnblur="doCheck();"/>
               
             <span id="message"></span>
                </td>

</tr>

controller:

//检查测站编码是否已存在

@RequestMapping(value="stationcheck")
public void stationcheck(HttpServletRequest request, HttpServletResponse response){
response.setContentType("text/html;charset=UTF-8");

PrintWriter pw = null;
try {
pw = response.getWriter();
} catch (IOException e) {

e.printStackTrace();
}

  String add_station_stcd=request.getParameter("add_station_stcd");
List<Station> stations= stationservice.queryStation(null);

ArrayList stcd2=new ArrayList();

for(int i=0;i<stations.size();i++){

stcd2.add(stations.get(i).getStcd());

}
 
if(stcd2.contains(add_station_stcd)){
            
    pw.print("<font color='red'>该编码已存在,请更换!</font>");
   }
   else {
    pw.print("<font color='blue'>恭喜,该编码可用!</font>");
   }
 

   pw.flush();
   pw.close();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值