Witam,
Jak zrobić, aby widok register.jsp pojawiał się jako okno modalne, a nie tak jak teraz, że jest przekierowanie? Raczej wklejania kodu od rejestracji do pliku layoutu mija się celem.
Mam plik register.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<c:if test="${param.success eq true}">
<div class="alerts">
<div class="alert alert-success">Rejestracja zakończona pomyślnie! Możesz się teraz zalogować.</div>
</div>
</c:if>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<div class="register-panel">
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title"><spring:message code="page.register.header"/></h3>
</div>
<div class="panel-body">
<form:form commandName="user" cssClass="form-register">
<div class="form-group">
<label for="email" class="col-sm-2 control-label"><spring:message
code="page.register.email"/></label>
<div class="col-sm-10">
<form:input path="email" cssClass="form-control"/>
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label"><spring:message
code="page.register.password"/></label>
<div class="col-sm-10">
<form:password path="password" cssClass="form-control"/>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label"><spring:message
code="page.register.name"/></label>
<div class="col-sm-10">
<form:input path="name" cssClass="form-control"/>
</div>
</div>
<div class="form-group">
<label for="name" class="col-sm-2 control-label"><spring:message
code="page.register.lastname"/></label>
<div class="col-sm-10">
<form:input path="lastname" cssClass="form-control"/>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<input type="submit" value="<spring:message code="page.register.btn.register"/>"
class="btn btn-lg btn-primary pull-right"/>
</div>
</div>
</form:form>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
layout.jsp
<c:if test="${pageContext['request'].userPrincipal == null}">
<li><a href="${pageContext.request.contextPath}/register"><spring:message
code="page.register.btn.register"/></a></li>
<li><a href="${pageContext.request.contextPath}/login"><spring:message
code="page.layout.btn.sigin"/> </a></li>
</c:if>
Kontroler:
package com.springapp.mvc.controller;
import com.springapp.mvc.domain.User;
import com.springapp.mvc.service.UserService;
import com.springapp.mvc.service.impl.UserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import java.security.Principal;
/**
* Created by Marcin on 2015-09-22.
*/
@Controller
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/users")
public String users(Model model) {
model.addAttribute("users", userService.findAll());
return "users";
}
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String showRegister(Model model) {
model.addAttribute("user", new User());
return "register";
}
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String doRegister(@ModelAttribute("user") User user) {
userService.save(user);
return "redirect:register?success=true";
}
}