powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Как определить значение в контроллере
15 сообщений из 15, страница 1 из 1
Как определить значение в контроллере
    #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
Как определить значение в контроллере
    #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
Как определить значение в контроллере
    #39826527
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL2008,

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

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

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

Тоесть не Logout, а LoginAction
...
Рейтинг: 0 / 0
Как определить значение в контроллере
    #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
Как определить значение в контроллере
    #39826572
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fallen2019,

return "allStudents" еще забыл добавить
...
Рейтинг: 0 / 0
Как определить значение в контроллере
    #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
Как определить значение в контроллере
    #39826591
fallen2019
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL2008,


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

Почему то еще когда я нажимаю чтобы добавить студента меня перекидывает снова на страницу логина
...
Рейтинг: 0 / 0
Как определить значение в контроллере
    #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
Как определить значение в контроллере
    #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
Как определить значение в контроллере
    #39826659
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fallen2019SQL2008,

Почему то еще когда я нажимаю чтобы добавить студента меня перекидывает снова на страницу логина
Потому, что пользователь должен быть авторизован чтобы мог добавлять студента.
...
Рейтинг: 0 / 0
Как определить значение в контроллере
    #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
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как определить значение в контроллере
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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