在写一次判断公司名称是否重复时所遇到的问题,后改正
Service层
// 判断公司名称是否重复
@SuppressWarnings("unchecked")
public boolean isNameExsit(String companyname){
if (StringUtils.isBlank(companyname)) {
return false;
}
写sql语句判断公司名称重复的次数
String sql = "select count(companyname) from T_CASE_BASEINFO where caseno not like 'S%' and isDelete != 1 and companyname = ?";
List<BigDecimal> result = createSQLQuery(sql, companyname).list();
return result.get(0).compareTo(BigDecimal.ZERO) != 0; // 返回结果 ‘!=0’
}
controler层
// 验证公司名称是否重复
@RequestMapping(params="method=isNameExsit")
public void isNameExsit(HttpServletRequest request , HttpServletResponse response) throws UnsupportedEncodingException{
// 获取前台填写的公司名称
String companyname = request.getParameter("companyname");
// 判断公司名称是否为空
if (StringUtils.isNotBlank(companyname)) {
// 汉字解码
companyname = new String(java.net.URLDecoder.decode(companyname, "UTF-8"));
}else{
companyname="";
}
// 调用service方法,判断是否正确
boolean isName = caseBaseinfoService.isNameExsit(companyname);
if (isName) { // 如果正确
SpringMVCUtils.render(response, ServletUtils.TEXT_TYPE, "yes");
}else{
SpringMVCUtils.render(response, ServletUtils.TEXT_TYPE, "no");
}
}
jsp页面
//公司名称
var companyname = $("#companyname").val();
if(companyname==""){
alertTip('企业名称不能为空','companyname');
flags = false;
}else{
$.ajax({
type : "get",
async : false,
url:"${ctx}/blyw/blyw.do?method=isNameExsit&companyname="+encodeURI(encodeURI(companyname.trim())), // 二次编码
success: function(companyname){
if (companyname=='yes') {
alertTip('企业名称已重复','companyname');
flags = false;
}
}
});
}
<tr>
<th><span class="tRed">*</span>公司名称</th>
<td colspan="3">
<input id="companyname" class="text" value="${caseinfo.companyname}" name="companynamec">
</td>
</tr>