Spring и JSP

топ 100 блогов 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 верно указать нужный параметр?

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
Давайте ещё раз поговорим о Мосгордуме. Выборы туда состоятся следующей осенью, будет, по всей видимости, 45 одномандатных округов. Почти все независимые политические силы заявляют о своём желании сделать так, чтобы у Едра не было большинства, и работать на эту задачу. Я более-менее ...
Министр культуры Третьего Рейха Бернгард Руст происходил из старинной благородной семьи. Образование получил в Ганноверской гимназии, затем изучал германистику, филологию и философию в Мюнхенском, Берлинском, Галльском и Гёттингенском университетах. В апреле 1945 года бежал с семьей из ...
no_rss id:134325 Греция, Халкидики вылет 8 июня на 2/4/7/9 ночей HANIOTI GRAND VICTORIA HOTEL 3*, завтрак + ужин 116/117/118/119 евро на человека при двухместном размещении, сингл 116/117/118/119 евро + виза 65 евро, документы сегодня, 1 июня крайний срок! Стоимость на ...
Гуляя по самой популярной улице в Москве - Никольской я недавно обнаружил чудесное и уютное заведение Бар "Ciderella" . Из названия понятно, что наливают там сидр, а я так продрог, что решил зайти и согреться. Сидр — напиток, популярный почти во всех странах Европы. Во Франции и ...
Погиб мой однополчанин, Витя Зилинский. Воевал на стороне Украины. Не могу сказать, что из одного котелка хлебали и одной шинелью укрывались - таких у каждого человека мало, двое-трое максимум. Но дружили, и достаточно крепко - кто служил, тот знает. На себе начинаю ощущать жестокую истин ...