flag 和isAccept
在reg.jsp里将isAccept改为flag后, 为什么RegServlet.java中if(request.getParameterValues("isAccept")!=null)不用该,改为flag后反而错误,这个isAccept难道不是对应表单中flag?
在reg.jsp里将isAccept改为flag后, 为什么RegServlet.java中if(request.getParameterValues("isAccept")!=null)不用该,改为flag后反而错误,这个isAccept难道不是对应表单中flag?
2016-11-13
我也有这个疑问,然后我理了一下思路,你看看能不能帮到你,虽然说得有点啰嗦,但希望你跟着我的思路去对应看一下代码的位置,以及先后顺序,才能更好理解。
1.先搞清楚每个页面及类的含义:
reg.jsp —— 用户填写表单的界面
RegServlet.java —— 暂时想象成 加工厂
users.java —— 用户信息类(即javabean,想象成 模型)
userInfo.jsp —— 是servlert的dopost()重定向到的页面(及展示获取信息后的页面)
这里的跳转顺序:
reg.jsp —— RegServlet.java ——userInfo.jsp 【在使用 加工厂的途中,调用模型,对模型进行写读】
------------------------------------------------------------------------------------------------------------
2.关于flag与isAcccept出现的位置 [以老师最后修改后测试成功来解释]
reg.jsp —— <input name="isAccpet">
RegServlet.java —— String IsAccept; 以及 if(IsAccept.indexOf("true")) {......} else{........}
users.java —— private boolean flag; 以及get/set方法为getFlag()/setFlag()
userInfo.jsp —— <jsp:getproperty name ="regUser" property="flag">
-------------------------------------------------------------------------------------
3.结论
我想你知道<jsp:getproperty >这个用法是获得javabean的属性值的吧
所以<jsp:getproperty name ="regUser" property="flag">
这个flag值只对应users.java 这个javabean里面的变量名
即这里的userInfo.jsp、users.java页面都是用flag
而RegServlet类中的 if(request.getParameterValues("isAccept")!=null) 这里的isAccept是reg.jsp页面中表单提交过来的,所以这里的isAccept对应的是reg.jsp 页面中的 <input name="isAccpet">,而不是用flag
举报