Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Entity
- @Table(name = "users")
- public class User implements Serializable{
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private long id;
- @Column(unique = true)
- @NotBlank
- @Size(min=4,max=20)
- private String login;
- @NotBlank
- private String password;
- @Column(unique = true)
- @Email
- @NotBlank
- private String email;
- private String permission;
- @OneToMany()
- private List<Account> accounts;
- public User(final String login, final String password, final String email) {
- Preconditions.checkArgument(!Strings.isNullOrEmpty(login));
- Preconditions.checkArgument(!Strings.isNullOrEmpty(password));
- Preconditions.checkArgument(!Strings.isNullOrEmpty(email));
- this.login = login;
- this.password = password;
- this.email = email;
- }
- public User() {
- }
- }
- + get/set
- @Entity
- @Table(name = "accounts")
- public class Account {
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- private long id;
- private boolean ifBasicAccount;
- private String accTitle;
- private String accFirstName;
- private String accLastName;
- private String accBirthdate;
- private String accPhoneNumber;
- private String accEducation;
- private String accExperience;
- private String accAbilities;
- private String accInterests;
- private String accProjects;
- private String accDescription;
- @Lob
- private byte[] accPicture;
- @ManyToOne
- private User user;
- public Account() {
- }
- + get/set
- @Controller
- public class AccountController {
- @Autowired
- AccountRepository accountRepository;
- @Autowired
- UserRepository userRepository;
- @RequestMapping(method = RequestMethod.GET, value ="addAccount")
- public String addAccount(Model model) {
- Account account = new Account();
- model.addAttribute("account", account);
- return "addAccount";
- }
- @RequestMapping(method = RequestMethod.POST, value ="addAccount")
- public String addAccount(@ModelAttribute Account account, HttpSession session) {
- User user = userRepository.findOne((Long) session.getAttribute("user_id"));
- account.setIfBasicAccount(false);
- account.setUser(user);
- accountRepository.save(account);
- return "redirect:/accounts";
- }
- @RequestMapping("/accounts")
- public String accountList(Model model, HttpSession ses) {
- long userId = (Long) ses.getAttribute("user_id");
- List<Account> accounts = accountRepository.findUserAccounts(userId);
- model.addAttribute("accounts", accounts);
- return "accounts";
- }
- @RequestMapping(value = "/edit/{id}", method = RequestMethod.GET)
- public String editAccountForm(Model model, @PathVariable long id) {
- Account account = accountRepository.findOne(id);
- model.addAttribute("account",account);
- return "editAccountForm";
- }
- @RequestMapping(value = "/edit/{id}", method = RequestMethod.POST)
- public String editAccount(@ModelAttribute Account account, @PathVariable long id) {
- Account accountToUpdate = accountRepository.findOne(id);
- accountToUpdate.setAccTitle(account.getAccTitle());
- accountToUpdate.setAccFirstName(account.getAccFirstName());
- accountToUpdate.setAccLastName(account.getAccLastName());
- accountToUpdate.setAccBirthdate(account.getAccBirthdate());
- accountToUpdate.setAccPhoneNumber(account.getAccPhoneNumber());
- accountToUpdate.setAccEducation(account.getAccEducation());
- accountToUpdate.setAccExperience(account.getAccExperience());
- accountToUpdate.setAccAbilities(account.getAccAbilities());
- accountToUpdate.setAccInterests(account.getAccInterests());
- accountToUpdate.setAccProjects(account.getAccProjects());
- accountToUpdate.setAccDescription(account.getAccDescription());
- accountRepository.save(accountToUpdate);
- return "redirect:/accounts";
- }
- @RequestMapping("/delete")
- public String deleteAccount(Model model) {
- return "deleteAccount";
- }
- @RequestMapping("/read/{id}")
- public String read(@PathVariable long id) {
- return accountRepository.findOne(id).toString();
- }
- @RequestMapping("/delete/{id}")
- public String delete(@PathVariable long id) {
- Account account = accountRepository.findOne(id);
- accountRepository.delete(account);
- return "redirect:/accounts";
- }
- }
- @Controller
- @RequestMapping("/user")
- public class ImageController {
- private AccountRepository accountRepository;
- @RequestMapping(value = "/accounts", method = RequestMethod.GET)
- public void showImage(@RequestParam("id") Long id, HttpServletResponse response, HttpServletRequest request)
- throws ServletException, IOException {
- Account account = accountRepository.getOne(id);
- response.setContentType("image/jpeg, image/jpg, image/png, image/gif");
- response.getOutputStream().write(account.getAccPicture());
- response.getOutputStream().close();
- }
- }
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
- <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
- <%@ page isELIgnored="false" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <%@ include file="/WEB-INF/parts/header.jsp" %>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- </head>
- <body>
- <div align="center">
- <table class="table table-striped">
- <h1>Accounts:</h1>
- <c:forEach items="${accounts}" var="account" begin="0" varStatus="theCount">
- <tr>
- <td>${theCount.index+1}</td>
- <td><b>Nazwa: </b>${account.accTitle}</td>
- <td><b>Opis: </b>${account.accDescription}</td>
- <td><img src="/ProjectProfile/user/accounts?id=${account.id}"/></td>
- <td><a style="width: 180px;height: 20px;" href="./edit/${account.id}" class="badge badge-primary">Show/Edit</a></td>
- <td><a style="width: 180px;height: 20px;" href="./delete/${account.id}" class="badge badge-danger">Delete</a></td>
- </tr>
- </c:forEach>
- </table>
- <a href="<c:url value="/addAccount"/>">Add Account</a>
- </body>
- </html>
Add Comment
Please, Sign In to add comment