javaweb 中javabean、jstl c标签 相关问题 10C

问题描述:做了一个javabean,用于验证表单提交的数据是否符合正则(名字长度6-15,年龄为数字,email格式),由Register类的isValidate()方法返回判断结果boolean值,表单页(register.jsp)将表单提交到check.jsp页,check.jsp页使用javabean实例化出了reg对象。
分别提交错误的表单和正确的表单,输出如下两幅图,reg.isValidate()返回的结果是正确的,但无论bool是true还是false,只会执行下面的,但是把上面的bool改成true,就可以了,不知道错误原因是什么
图片说明上图:

图片说明

图片说明
验证方法源码:
public boolean isValidate(){
boolean pass=true;
if(!this.name.matches("\w{6,15}")){
pass=false;
errors.put("nameE", "名字长度为6-15");

    }
    if(!this.email.matches("\\w+@\\w+\\.\\w+\\.?\\w*")){
        pass=false;
        errors.put("emailE","email地址不正确");

    }
    if(!this.age.matches("\\d+")){
        pass=false;
        errors.put("ageE","年龄必须是数字");

    }

    return pass;
}

3个回答

jsp里面写的java代码不要跟jstl混合使用。
<%
boolean bool = res.isValidate(); //第一个bool
%>


.......
/c:if
第一个bool跟第二个bool并不是同一个东西,jstl获取的是controller中传过来的bool,你没有在controller中定义当然一直就是false

图片说明

你换成等号试试看可以不可以,不用直接,test里是判断条件把

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问