java.lang.NullPointerException: Cannot invoke “String.getBytes()“ because “str“ is null

在准备JSP界面调用java类的md5解析字符串的时候,是这样写的

         function check_form() {
        		var usernameDat = document.getElementById("username").value;
        		var passwordDat = document.getElementById("password").value;
        		<% String pasString = request.getParameter("password");
        			pasw = md5.StringInMd5(request.getParameter("password")); %>
        		alert("<%= pasw %>");

但是报错了在这里插入图片描述
最开始没有仔细看问题出在哪里。然后百度搜了没有找到实质性解决问题的答案;
但是后来注意到了一句话:
java.lang.NullPointerException: Cannot invoke “String.getBytes()” because “str” is null
意思是:字符串为空的时候引用了md5函数导致报错了;
才想起来加载JSP文件的时候他会自动把所有代码都执行一边,所以即使这个代码块设置是在点击提交后运行的,它也会提前加载一遍;
于是我选择加上了一步条件判断:

         function check_form() {
        		var usernameDat = document.getElementById("username").value;
        		var passwordDat = document.getElementById("password").value;
        		<% String pasString = request.getParameter("password");
        			if(pasString!=null) 
        			pasw = md5.StringInMd5(request.getParameter("password")); %>
        		alert("<%= pasw %>");

成功运行!在这里插入图片描述

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值