Spring и JSP
ru_java — 18.03.2010 Здравстуйте,пишу своё первое более-менее серьёзное приложение на spring+spring security+jsp. До этого писал на php.
возникло два вопроса - как из jsp custom тега обратиться к элементу, переданному в модели. Второй - как обратиться на странице к методу объекта, переданного в модели.
пусть для примера у нас есть класс пользователя User
--- package ru.myapp.domain.User; class User { protected String name; protected int id; protected String lastName; public String getName() { return name; } public void setName(String n) { name = n; } public int getId() { return id; } public void setId(int i) { id = i; } public String getLastName() { return lastName; } public void setLastName(String ln) { lastName = ln; } } ---
а так же есть тег вроде
--- package students.web.tag; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.tagext.TagSupport; public final class HelloTag extends TagSupport { private User user = null; public int doStartTag() throws JspException { try { if(user == null) { pageContext.getOut().write("No user setted up!"); } else { pageContext.getOut().write("User: name " + user.getName() + " , and other params"); } } catch(IOException ioe) { throw new JspTagException(ioe.getMessage()); } return SKIP_BODY; } public String getUser() { return user; } public void setUser(User user) { this.user = user; } public void release() { super.release(); user = null; } } ---
Контроллер
--- @Controller class UserController extends BaseController { @RequestMapping("/user/area.html") public void area(ModelMap model) { model.put("user", getCurrentUser()); } } ---
Чего хотелось бы (jsp):
--- 1) <% out.write(user.getName()); %> 2) <mytags:hello user="${user}" /> ---
Вопрос как сделать пункты 1 и пункт 2? Вернее сказать, как для пункта 1 указать что user уже положен в модель (или как его взять из аттрибутов страницы)? Ну и как для п2 верно указать нужный параметр?