DisplayTag 링크 기능
참조 : http://displaytag.sourceforge.net/11/tut_links.html
이런식으로 지정해 주면 detail.do 로 링크가 생기며 이 링크로 객체의 id를 id라는 이름으로 넘겨 줍니다.
이것을 받아서 member 한명에 대한 정보를 뿌리는 controller를 만듭니다.
[#M_ more.. | less.. | public class MemberDetailController extends AbstractController{
private MemberRepository memberRepository;
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
Integer id = Integer.parseInt(request.getParameter("id"));
Member member = memberRepository.get(id);
return new ModelAndView("detail", "member", member);
}
public void setMemberRepository(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
}_M#]id로 넘어온 id를 받은 뒤 그것을 가지고 member 객체를 가져오고 다시 member 객체를 detail이라는 view와 함꼐 ModelAndView 객체에 담아서 리턴합니다. 그럼 viewResolver에 의해서 detail.jsp를 찾아가게 될 것입니다.
[#M_ more.. | less.. | <jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:display="urn:jsptld:http://displaytag.sf.net"
xmlns:c="urn:jsptld:http://java.sun.com/jstl/core">
<jsp:directive.page contentType="text/html; charset=UTF-8" />
<jsp:include page="inc/header.jsp" flush="true" />
<h2><c:out value="${member.name}"/>'s Information</h2>
<table>
<tr>
<th>이름</th>
<td><c:out value="${member.name}"/></td>
</tr>
<tr>
<th>Email</th>
<td><c:out value="${member.email}"/></td>
</tr>
<tr>
<th>Phone</th>
<td><c:out value="${member.phone}"/></td>
</tr>
<tr>
<th>Blog</th>
<td><c:out value="${member.blogAddress}"/></td>
</tr>
<tr>
<th>MessengerId</th>
<td><c:out value="${member.messengerId}"/></td>
</tr>
</table>
<jsp:include page="inc/footer.jsp" flush="true" />
</jsp:root>_M#]
JSTL을 사용하기 위해 taglib을 지정해 주고 이 페이지에 member객체가 넘어 왔을 테니깐 "${member.name}" 이런식으로 사용해주면 됩니다.
결과는..