在准备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 %>");
成功运行!
|