马大头
2017-06-20 07:38
采纳率: 59.1%
浏览 4.7k
已采纳

springMVC接收不到前台页面传递过来的值

controller

@Controller
public class UserController {

 @RequestMapping("/login.action")
    public String login(String username, String password){

        System.out.println(username);
        System.out.println(password);
        }
}

前台页面

 <body>
    <form action="${pageContext.request.contextPath}/login.action" method="post" >
        <table>
            <tr>
                <td>用户名</td>
                <td>
                    <input type="text" name="username" />
                </td>
            </tr>
            <tr>
                <td>密码</td>
                <td>
                    <input type="password" name="password" />
                </td>
            </tr>
            <tr>
                <td><input type="submit" value="登陆"/></td>
            </tr>
        </table>
    </form>
  </body>

如上,后台接收到的username和password一直是null,是不是哪里漏写了什么?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 马大头 2017-06-21 05:49
    已采纳

    问题已经解决了,应该是少导了jar包,具体是哪个还没发现,反正找一套更全的jar包导进来就解决了

    打赏 评论
  • 马大头 2017-06-20 07:34

    试了

     private String username;
     private String password;
     get.../set...
    

    也是了在参数列表里面给HttpServletRequest
    然后用request.getParameter("username");-----这样直接报空指针

    打赏 评论
  • Mr丶Guo 2017-06-20 07:38

    返回值String 随便写个return "";试试

    打赏 评论
  • 初雪的季节 2017-06-20 07:39

    你有SQL语句吗?图片说明,你可以把它封装到一个实体类里面

    打赏 评论
  • Mr丶Guo 2017-06-20 07:43

    System.out.println(password);下面返回一个return试试

    打赏 评论
  • Mr丶Guo 2017-06-20 07:54

    类的上面是不是还少了@RequestMapping("")

    打赏 评论
  • 初雪的季节 2017-06-20 08:01

    你现在代码写的有问题,Controller要想获取数据得这样写
    String name = request.getParameter("name");
    String password = request.getParameter("password");
    从页面上取到值,你不能直接输出这两个值

    打赏 评论
  • 何大首乌 2017-06-20 08:23

    你前台是POST请求,后台没有定义请求的方式,当然请求不到,后台定义了之后还需要把参数放到请求头里传回去才能接受参数

    打赏 评论
  • 星空下的小白狼 2017-06-20 09:56

    项目重新发布下试试看 代码看着没毛病啊

    打赏 评论

相关推荐 更多相似问题