form表单判断是否为空——JavaWeb

在编程时,以前没有注意,突然遇到这个问题,就是form表单完全是空,从前台取到后台是空,但不是null,导致可以添加进数据库但是没有什么信息,所以,我百度了一下发现此空不属于null需要额外判断一下。
最后我找到三个方法

第一个

在jsp界面通过js判断,使用alert反馈给使用者,name是给后台获取数据信息的标识符,id是js定位的标识符。

<div class="form">
		<form action="/addPacket" method="post" onsubmit="return check()">
			分享名称:<input type="text" name="name" id="naem"/><br />
			分享方式:<input type="text" name="type" id="type"/><br />
			分享地址:<input type="text" name="url" id="url"/><br />
			提取密码:<input type="text" name="code" id="code"/><br />
			解压密码:<input type="text" name="pwd" id="pwd"/><br />
			<input type="submit" value="添加" >
		</form>
		
		<form action="/index" method="post">
			<input type="submit" value="返回">
		</form>
	</div>
</body>
<script type="text/javascript">
  function check(){
	  var name = $("#name").val();
		var type = $("#type").val();
		var url = $("#url").val();
	  if(name == null || name == "" || type == null || type == "" || url == null || url == ""){
	    alert("名称、方式、地址不能为空!");
	    return false;
	  }
		return true;
  }
</script>

第二种

在后台判断,判断后通过request.setAttribute()反馈信息,如果成功就添加成功,如果失败就把错误信息反馈给用户。
后台

	@RequestMapping(value="/addPacket")
	public String addPacket(HttpServletRequest req,HttpServletResponse resq,Model model)throws ServletException, IOException{
		//解码
		req.setCharacterEncoding("UTF-8");
		String name=req.getParameter("name");
		String type=req.getParameter("type");
		String url=req.getParameter("url");
		String code=req.getParameter("code");
		String pwd=req.getParameter("pwd");
		if(name!=null && type!=null && url!=null && name!="" && type!="" && url!="") {
			pac.addPacket(name, type, url, code, pwd);
			return "index";
		}
		else {
			req.setAttribute("addFail","添加失败,名称、方式、地址不能为空!");
			return "addPacket";
		}
	}

前端

<div class="error">
	<%=request.getAttribute("addFail")==null ? "":request.getAttribute("addFail") %>
</div>

在这里插入图片描述

第三种

就是在mapper,数据库操作时加入判断,一般不这么做,因为这样不能很好的反馈,如果不按照规定输入就会报错。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值