日期:2014-05-17  浏览次数:20824 次

为什么form表单提交的数据 后台只接收到了一个
下面是代码
HTML code

    <h1>用户登陆</h1>
    <hr>
    <form action="load.do" method="post">
        用户名:    <input type="text" name="userName"><br/>
        密     码:<input type="text" name="userPwd"><br/>
    <input type="submit" value="登陆">&nbsp;&nbsp;<input type="reset" value="重填">
    </form>


Action
Java code

    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response) {
        // TODO Auto-generated method stub
        System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
        LoadActionForm lf = (LoadActionForm) form;
        System.out
                .println("aaa =" + lf.getUserName() + " , " + lf.getUserPwd());
        if (lf != null) {
            User user = new User();
            user.setUserName(lf.getUserName());
            user.setUserPwd(lf.getUserPwd());
            User user1 = this.userBiz.checkLoad(user);
            if (user1 != null) {
                request.setAttribute("userName", user.getUserName());
                mapping.findForward("succ");
            }
        }
        return mapping.findForward("fail");
    }



为什么只取到了名字 密码没有??

------解决方案--------------------
struts 1 吗?
LoadActionForm 在哪了?
------解决方案--------------------
一看就 是Struts1.可能是ActionForm 和Action没有绑定好吧
------解决方案--------------------
Struts.xml:
<form-beans>
<form-bean
name="SystemConfigForm"
type="com.sunland.form.SystemConfigForm"
/>
</form-beans>
------解决方案--------------------
一般来说,既然能够取到一个值了,那就说明程序是通了,另一个值取不到,可能是字符写错了等原因。你再添加一个字段测试一下。看能不能取到。如果还是不行。可能是人品了。
------解决方案--------------------
哎,都忘记光了,出了bug,首先在脑子里分析,再动手。。。
------解决方案--------------------
探讨

一般来说,既然能够取到一个值了,那就说明程序是通了,另一个值取不到,可能是字符写错了等原因。你再添加一个字段测试一下。看能不能取到。如果还是不行。可能是人品了。

------解决方案--------------------
你在后台使用request.getParamter("")直接得到一下看可以得到不。。如果可以得到 那就是你对应的FORM写的有问题。
------解决方案--------------------
咦, 看了一下感觉没什么问题么!
------解决方案--------------------
你actionform里的password属性名要和jsp页面input框的password的name要一致 不然找不到!
------解决方案--------------------
if (lf != null) {
User user = new User();
user.setUserName(lf.getUserName());
user.setUserPwd(lf.getUserPwd());
User user1 = this.userBiz.checkLoad(user);
if (user1 != null) {
request.setAttribute("userName", user.getUserName()); mapping.findForward("succ");
}
}
request.setAttribute("userName", user.getUserName());
改正为request.setAttribute("user", user);
将整个user对象全部存进去,即可接受到姓名和密码了