Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как определить значение в контроллере / 15 сообщений из 15, страница 1 из 1
14.06.2019, 11:52
    #39826506
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
У меня есть value - "LoginAction" как можно определить его в контроллере.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Custom login</title>
        <style type="text/css">
            .error {
                color: #ff0000;
                font-weight: bold;
            }           
            .msg {
                color: #008000;
                font-weight: bold;
            }
        </style>
    </head>
    <body onload='document.loginForm.username.focus();'>
    <h1>Login Form</h1>

    <c:if test="${not empty errorMessge}"><div style="color:red; font-weight: bold; margin: 30px 0px;">${errorMessge}</div></c:if>

    <div id="login-box">

        <h3>Login with Username and Password</h3>

        <c:if test="${not empty error}">
            <div class="error">${error}</div>
        </c:if>
        <c:if test="${not empty msg}">
            <div class="msg">${msg}</div>
        </c:if>

        <form name="loginForm" action='<spring:url value="/loginAction"/>' method="post">
            <table>
                <tr>
                    <td>Username</td>
                    <td><input type="text" name="username"></td>
                </tr>
                <tr>
                    <td>Password</td>
                    <td><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td><button type="submit">Login</button></td>
                </tr>
            </table>
        </form>
    </div>
    </body>
</html>


AuthorizationController

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class AuthorizationController {



    @RequestMapping(value = "/admin", method = RequestMethod.GET)
    public ModelAndView adminPage() {

        ModelAndView m = new ModelAndView();
        m.addObject("title", "Successfully logged in");
        m.addObject("message", "home");
        m.setViewName("admin");
        return new ModelAndView("redirect: allStudents");
    }


    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public ModelAndView login(
        @RequestParam(value = "error", required = false) String error,
        @RequestParam(value = "logout", required = false) String logout) {

        ModelAndView model = new ModelAndView();
        if (error != null) {
            model.addObject("error", "Invalid username and password!");
        }

        if (logout != null) {
            model.addObject("msg", "You've been logged out successfully.");
        }
        model.setViewName("login");

        return model;

    }
}


Student Controller

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
@Controller
public class StudentController {

    @Autowired
    private ServletContext servletContext;

    // Constructor based Dependency Injection
    private StudentService studentService;

    public StudentController() {

    }

    @Autowired
    public StudentController(StudentService studentService) {
        this.studentService = studentService;
    }




    @RequestMapping(value = "/allStudents",  method = {RequestMethod.GET, RequestMethod.POST})

    public ModelAndView displayAllUser() {
        System.out.println("User Page Requested : All Students");
        ModelAndView mv = new ModelAndView();
        List<Student> studentList = studentService.getAllStudents();
        mv.addObject("studentList", studentList);
        mv.setViewName("allStudents");

        return mv;
    }



    @RequestMapping(value = "/addStudent", method = RequestMethod.GET)
    public ModelAndView displayNewUserForm() {
        ModelAndView mv = new ModelAndView("addStudent");
        mv.addObject("headerMessage", "Add Student Details");
        mv.addObject("student", new Student());
        return mv;
    }

    @PostMapping(value = "/addStudent")
    public String saveNewStudent(@RequestParam("name") @NonNull String name,
            @RequestParam("surname") @NonNull String surname,
            @RequestParam("avatar") MultipartFile file)
            throws IOException {

        Student student = new Student();
        student.setSurname(surname);
        student.setName(name);

        if (file != null && !file.isEmpty()) {
            student.setAvatar(studentService.saveAvatarImage(file).getName());
        }

        studentService.saveStudent(student);
        return "redirect:/allStudents";
    }

    @GetMapping(value = "/editStudent/{id}")
    public ModelAndView displayEditUserForm(@PathVariable Long id) {
        ModelAndView mv = new ModelAndView("editStudent");
        Student student = studentService.getStudentById(id);
        mv.addObject("headerMessage", "Редактирование студента");
        mv.addObject("student", student);
        return mv;
    }

    @PostMapping(value = "/editStudent")
    public String saveEditedUser(
            @RequestParam("id") Long id,
            @RequestParam("name") String name,
            @RequestParam("surname") String surname,
            @RequestParam("avatar") MultipartFile file) {

        try {

            studentService.updateStudent(name, surname, file, studentService.getStudentById(id));

        } catch (FileSystemException ex) {
            ex.printStackTrace();
        } catch (IOException e) {
            return "redirect:/error";
        }

        return "redirect:/allStudents";
    }

    @GetMapping(value = "/deleteStudent/{id}")
    public ModelAndView deleteUserById(@PathVariable Long id) {
        studentService.deleteStudentById(id);
        ModelAndView mv = new ModelAndView("redirect:/allStudents");

        return mv;

    }

}
...
Рейтинг: 0 / 0
14.06.2019, 12:16
    #39826522
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
Узнаю руку мастера!
Код: java
1.
2.
3.
4.
5.
        ModelAndView m = new ModelAndView();
        m.addObject("title", "Successfully logged in");
        m.addObject("message", "home");
        m.setViewName("admin");
        return new ModelAndView("redirect: allStudents");


Создать объект, наполнить его данными и... забыть нахрен и создать новый объект!
...
Рейтинг: 0 / 0
14.06.2019, 12:20
    #39826527
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
SQL2008,

Можешь помочь бро пожалуйста
...
Рейтинг: 0 / 0
14.06.2019, 12:23
    #39826531
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
SQL2008,

У меня только осталось определить это значение в контроллере
...
Рейтинг: 0 / 0
14.06.2019, 12:24
    #39826534
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
SQL2008,

Чтобы значения Logout обрабатывалось в контроллере
...
Рейтинг: 0 / 0
14.06.2019, 12:25
    #39826536
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019,

Тоесть не Logout, а LoginAction
...
Рейтинг: 0 / 0
14.06.2019, 13:00
    #39826561
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019,
правильно же?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@RequestMapping("/loginAction")
public String loginAction(Model model,
                          @ModelAttribute("userName") String userName,
                          @ModelAttribute("password") String password,
                          HttpServletRequest req) {
        System.out.println("userName = " + userName);
        System.out.println("password = " + password);
}
...
Рейтинг: 0 / 0
14.06.2019, 13:14
    #39826572
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019,

return "allStudents" еще забыл добавить
...
Рейтинг: 0 / 0
14.06.2019, 13:34
    #39826581
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019fallen2019,
правильно же?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@RequestMapping("/loginAction")
public String loginAction(Model model,
                          @ModelAttribute("userName") String userName,
                          @ModelAttribute("password") String password,
                          HttpServletRequest req) {
        System.out.println("userName = " + userName);
        System.out.println("password = " + password);
}


А что сделать то хочешь?
...
Рейтинг: 0 / 0
14.06.2019, 13:47
    #39826591
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
SQL2008,


Просто я хочу чтобы при запуске проекта появилась страница allStudents.jsp(где список студентов) и там есть в меню кнопка войти и лишь тогда когда он правильно введет логин и пароль то тогда его снова вернуть на allStudents.jsp только раз он уже вошел то может смело добавлять, удалять, редактировать список студентов на странице allStudents. А когда еще никто не залогинился то просто кнопки добавить, удалить, редактировать игнорируются так как админ не вошел. Я с правами вроде все сделал правильно, но у меня он после входа показывает пустой список студентов(((( хотя там должны быть студенты
...
Рейтинг: 0 / 0
14.06.2019, 13:49
    #39826594
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
SQL2008,

Почему то еще когда я нажимаю чтобы добавить студента меня перекидывает снова на страницу логина
...
Рейтинг: 0 / 0
14.06.2019, 14:04
    #39826606
fallen2019
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
SQL2008,
Я же правильно вернул allStudents или что то другое надо возвращать?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@RequestMapping("/loginAction")
public String loginAction(Model model,
                          @ModelAttribute("userName") String userName,
                          @ModelAttribute("password") String password,
                          HttpServletRequest req) {
        System.out.println("userName = " + userName);
        System.out.println("password = " + password);
return "allStudents"
}
...
Рейтинг: 0 / 0
14.06.2019, 15:37
    #39826654
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019когда еще никто не залогинился то просто кнопки добавить, удалить, редактировать игнорируются так как админ не вошел.
Это делается через скрытие кнопок в зависимости от того авторизован пользователь или нет.
Код: java
1.
2.
3.
4.
5.
6.
	<c:if test="${pageContext.request.userPrincipal.name != null}">
                Пользователь авторизован
	</c:if>
	<c:if test="${pageContext.request.userPrincipal.name == null}">
                Пользователь не авторизован
	</c:if>
...
Рейтинг: 0 / 0
14.06.2019, 15:38
    #39826659
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019SQL2008,

Почему то еще когда я нажимаю чтобы добавить студента меня перекидывает снова на страницу логина
Потому, что пользователь должен быть авторизован чтобы мог добавлять студента.
...
Рейтинг: 0 / 0
14.06.2019, 15:40
    #39826661
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить значение в контроллере
fallen2019SQL2008,
Я же правильно вернул allStudents или что то другое надо возвращать?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
@RequestMapping("/loginAction")
public String loginAction(Model model,
                          @ModelAttribute("userName") String userName,
                          @ModelAttribute("password") String password,
                          HttpServletRequest req) {
        System.out.println("userName = " + userName);
        System.out.println("password = " + password);
return "allStudents"
}


Правильно.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как определить значение в контроллере / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]