Получить значение скрытого поля в форме - PullRequest
0 голосов
/ 03 мая 2019

Вот моя форма входа в систему со скрытым именем поля "callbackUrl". Как я могу получить значение этого скрытого поля в контроллере? Атрибутами пользователя являются имя пользователя и пароль. callbackUrl нет.

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="/resources/css/bootstrap.min.css" rel="stylesheet">
    <link href="/resources/css/common.css" rel="stylesheet">
<title>Authentication Service</title>
</head>
<body>
<form method="POST" action="/login" modelAttribute="userFormLogin" class="form-signin">
    <h2 class="form-heading">Log in</h2>
    <input name="username" type="text" class="form-control" placeholder="Username"
       autofocus="true"/>
    <input name="password" type="password"  class="form-control" placeholder="Password"/>
    <input name="callbackUrl" type= "hidden" id="callbackUrl">
    <h2>${error}</h2>
    <br/>
    <button class="btn btn-lg btn-primary btn-block" type="submit">Log In</button>
    <h4 class="text-center"><a href="/registration">Create an account</a></h4>
</form>
</body>
<script>
    var url_string = window.location.href; //window.location.href
    var url = new URL(url_string);
    var c = url.searchParams.get("callbackUrl");
    console.log(c);
    document.getElementById("callbackUrl").value = c;
</script>
</html>

1 Ответ

0 голосов
/ 03 мая 2019

добавьте @RequestParam("callbackUrl") String callBackUrl к методу в вашем контроллере.

Вот так:

public String myMethod(@RequestParam("callbackUrl") String callBackUrl, …) {
    System.out.println(callBackUrl); //this will print the url to console
}
...