Два одинаковых строки не соответствуют

голоса
0

Я относительно новым для Java и имели один и тот же вопрос о двух проектах в ряд. В мой контроллер я сравниваю две строки используя, если заявление. Если строки совпадают один набор логики запускается и если строки не совпадают второй набор логики выполняется. Первая строка тянет из формы с помощью @ModelAttribute. У меня есть две строки, которые четко соответствуют, но правильная логика не выполняется, и я запутался.

Вот моя форма:

<form:form method=POST action=/registration modelAttribute=user>
                    <p>
                        <form:label path=firstName>First Name:</form:label>
                        <form:input class=floatRight path=firstName/>
                    </p>
                    <p>
                        <form:label path=lastName>Last Name:</form:label>
                        <form:input class=floatRight path=lastName/>
                    </p>
                    <p>
                        <form:label path=username>Email:</form:label>
                        <form:input class=floatRight path=username/>
                    </p>
                    <p>
                        <form:label path=password>Password:</form:label>
                        <form:password class=floatRight path=password/>
                    </p>
                    <p>
                        <form:label path=passwordConfirmation>Password Confirmation:</form:label>
                        <form:password class=floatRight path=passwordConfirmation/>
                    </p>
                    <p>
                        <form:select path=role>
                            <form:option value=host label=Host/>
                            <form:option value=guest label=Guest/>
                        </form:select>
                    </p>
                    <input class=floatRight type=submit value=Register/>
                </form:form>

Значение я захватывая, что имеет отношение к моему вопросу есть форма: выбрать со значениями либо «хозяина» или «гость».

Вот мой контроллер:

@RequestMapping(value=/registration, method=RequestMethod.POST)
public String registration(@Valid @ModelAttribute(user) User user, BindingResult result, Model model, HttpSession session) {
    userValidator.validate(user, result);
    if(result.hasErrors() ) {
        return /main/loginReg.jsp;
    } else {
        if(user.getRole() == host) {
            System.out.println(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
            System.out.println(host  + user.getRole());
            System.out.println(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
            userService.createHostUser(user);
            model.addAttribute(registered, You have successfully registered your account! Please log in.);
            return /main/loginReg.jsp;
        } else {
            System.out.println(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
            System.out.println(guest  + user.getRole());
            System.out.println(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx);
            userService.createGuestUser(user);
            model.addAttribute(registered, You have successfully registered your account! Please log in.);
            return /main/loginReg.jsp;
        }
    }
}

Когда я создаю новый пользователь через форму, то другое заявление активируется даже когда я использую «хозяйничать» выберите в форме. Я знаю, что данные передаются правильно, а другое утверждение активации, так как System.out печатает «гость-хозяин». И мой пользователь создаются правильно, хотя и с неправильной ролью.

Может кто-нибудь explian почему user.getRole () дает мне «хозяин», но это не соответствует строке «хозяина»? Я искренне признателен за любое понимание!

Задан 07/11/2018 в 20:02
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more