如何在弹簧安全的情况下获取参数名称?

时间:2016-06-23 06:04:37

标签: java spring-mvc spring-security

我想检索通过控制器中的表单login.jsp发送的参数。但是我收到错误 - “请求参数不存在”。我的login.jsp代码如下: -

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
  <title>Spring Security</title>
</head>
<body>
<center>

  <h1>Welcome to Spring Security Learning</h1>
  <c:if test="${not empty SPRING_SECURITY_LAST_EXCEPTION}">
    <font color="red">
      Your login attempt was not successful due to <br/><br/>
      <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/>.
    </font>
  </c:if>

  <div style="text-align: center; padding: 30px; border: 1px solid; width: 250px;">

    <form method="post"
          action='j_spring_security_check'>

      <table>

        <tr>

          <td colspan="2" style="color: red">${message}</td>

        </tr>


        <tr>

          <td>User Name:</td>


          <td><input type="text" name="j_username" id="uname"/></td>

        </tr>


        <tr>

          <td>Password:</td>


          <td><input type="password" name="j_password" /></td>

        </tr>


        <tr>

          <td colspan="1"><input type="submit" value="Login" /></td>


          <td colspan="1"><input name="reset" type="reset" /></td>

        </tr>

      </table>

    </form>

  </div>

</center>
</body>
</html>

控制器的代码如下: -

 @RequestMapping("/search")
    public ModelAndView search(HttpSession session2,@RequestParam("j_username") String name) {

        session2.setAttribute("name", name);
        Session session=new Configuration().configure("hibernate.cfg.xml").buildSessionFactory().openSession();
        String hql = "SELECT E.firstName FROM User E";
        Query query = session.createQuery(hql);
        List results = query.list();

        //System.out.println(results.get(1).getClass().getFields());
        HashMap model = new HashMap();
        model.put("users", results);
        return new ModelAndView("search", model);
    }

请提前帮助..谢谢..

0 个答案:

没有答案