Spring и JSP

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

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

Предыдущие записи блогера :
Архив записей в блогах:
Главный редактор государственного телеканала Russia Today и информационного агентства "Россия сегодня" в авторской программе "Ч.Т.Д.": «Дорогие и уважаемые бывшие партнеры, называя вещи своими именами, вы ведете войну с нами, а мы вынуждены вести войну с вами, со всеми вытекающими. И ...
Чота я на себя слишком дохуя взвалил, кажется. Помимо обычной общехозяйственной суеты, эти вот автомобильные дела, гаражи эти ебучие, ща ещё конец месяца на работе - надо гору циферок в кучку сволОчь и разобрать... Вроде всё ничего, канеш... всё работает, продвигается вперёд и чуть-чуть ...
Слово « лайфхак » – хитрость, которая делает жизнь проще – появилось в русском языке недавно. Но, если подумать, всё наше детство в 80-е состояло из разнообразных лайфхаков. К примеру, недавно я узнал, что мои молодые сотрудники не знают, как обеспечить быстрое вызревание бананов в дома ...
Ок, уговорили, раз "Лобов врёт", пусть будет голосование. Итак, в месяц на питание ( без алкоголя и сигарет) у вас в семье, в пересчёте на одного человека, тратится: View Poll: Еда в суммах А также, в качестве более грамотной статистики - в месяц на питание ( без алкоголя и сига ...
15 мая по календарю западных христиан - день св. Софии Римской. София Римская (Зофиа фон Ром) - 15 мая , известная как "кальте Зофи", холодная София. Die Kalte Sophie macht alles hie - "Холодная Зофи всё уничтожит" Св. мученица София Римская в народной молве часто отождествляется с ...