昨天写一个表单的功能,需要通过一个隐藏input来判断,拿到后台之后,通过这个隐藏的input是否有值来判断是新增操作,还是编辑操作。
进到表单之前后台这样传过来
红框框的是我改了之后的,之前由于取来的就叫pkId所以我往前放也叫pkId,后台这是通过判断,编辑操作会把pkId的值给到前面,而新增不会。(我预想的是这样)
前面是这样的
这个输入框就是来接值得,这是我改之后得,之前是
<input type="hidden" value="${pkId}" name="pkId">
没改之前这样我就发现,在这个表单提交后,不管是新增操作还是编辑操作,都会走编辑得那条路,这是为什么呢?因为我是用这个pkId拿到后台去进行判断得,所以我输出了这个pkId出来看,发现在我新增操作得时候,pkId还是有值,为1。但在我debug之前那张图得程序时发现确实没走if里面得程序,就是说没有给pkId赋值,当然如果时给pkId赋值得话,修改编辑一切正常。
没赋值却有值,我昨天百思不得其解,但是突然,我灵光一闪,这个值为什么是1呢?这个1从哪来的,为什么不是2,我就想到我这个登录得账号得ID是1,在我登录得时候,我把ID曾存入session,如图
我在登录成功后,把username作为loginName,把用户得pkId作为pkId存入session了,这个pkId它会不会因为我没给他值它自己去找session的值了?于是写<input type="text" value="${loginName}" name="">来看,果然,在后台没有给loginName赋值的情况下,这个input明晃晃的输出着我的session的用户名,原来还会这样,我就把pkId在前台换了个名字,一切正常了就。