2012-12-13 7 views
0

2 개의 엔티티가 회의 및 엔티티 아젠다입니다.다른 엔티티 클래스 Java Persistance API에서 속성 관계를 가져 와서 서블릿을 통해 JSP에 표시하는 방법은 무엇입니까?

이와 같이 데이터베이스에서 코드 엔터티 클래스 (EJB)를 작성합니다.

public class Meeting implements Serializable { 
...... 
@XmlTransient 
    public Collection<MeetingAgenda> getMeetingAgendaCollection() { 
     return meetingAgendaCollection; 
    } 

    public void setMeetingAgendaCollection(Collection<MeetingAgenda> meetingAgendaCollection) { 
     this.meetingAgendaCollection = meetingAgendaCollection; 
    } 
....... 
} 

과 같은 엔티티 클래스 회의 아젠다. 는 .....

public class MeetingAgenda implements Serializable { 
.... 
    public String getAgenda() { 
     return agenda; 
    } 
    public void setAgenda(String agenda) { 
     this.agenda = agenda; 
    } 
.... 
} 

방법 getMeetingAgendaCollection 엔티티 회의에서 관계이다. 그렇다면 내 컨트롤러 서블릿에서 EJB를 이와 같이 호출합니다.

내가 같은 JSP 페이지에서 코드 .. 쓰기 ..

public class ControllerServlet extends HttpServlet { 
    @EJB 
    private RapatFacadeLocal rapatFacade; 

public void init() throws ServletException { 
     // store category list in servlet context  
    getServletContext().setAttribute("meetings", rapatFacade.findAll()); 
} 
...... 

는 내가 만나 meetingAgenda 테이블 개체에서 데이터를 표시 할 ...하지만 난 이 도와주세요 .. 할 수 없습니다 ..

<c:forEach var="meeting" items="${meetings}"> 
<td> MeetingCode : ${meeting.meetingCode} </td> 
<td> Meeting : ${meeting.meeting} </td> 
<td> Agenda : ${meeting.getMeetingAgendaCollection} </td> 
</c:forEach> 

어떻게 데이터를 표시합니까? getMeetingAgendaCollection을 사용하여 의제?

귀하의 도움에 감사드립니다.

답변

0

나는 결국 내 JSP 클라이언트

.... 
<c:forEach var="agenda" items="${meetingAgendas}"> 
    <td> ${agenda.agenda} </td> 
</c:forEach> 
... 

내 컨트롤러 서블릿

Rapat selectedMeeting = rapatFacade.find(Long.parseLong(id)); 
        request.setAttribute("meetingDetails",selectedMeeting); 


    Collection<RapatAgenda> agenda = selectedMeeting.getRapatAgendaCollection(); 
        request.setAttribute("meetingAgendas", agenda); 

에서 솔루션, 을 발견하지만 난 문제가 더 발견했다. 회의 엔티티와 관련된 다른 엔티티 (일대 다)를 표시하려는 경우. 이 코드를 작성합니다.

Rapat selectedMeeting = rapatFacade.find(Long.parseLong(id)); 
        request.setAttribute("meetingDetails",selectedMeeting); 

Collection<RapatAgenda> agenda = selectedMeeting.getRapatAgendaCollection(); 
        request.setAttribute("meetingAgendas", agenda); 

Unit selectUnit = unitFacade.find(selectedMeeting.getUnitInisiatorId()); 
        request.setAttribute("initiator", selectUnit); 

내가 당신을 감사합니다 .. 도와주세요 selectedMeeting.getUnitInisiatorId() 내가 수동으로 작성하는 경우 값이 정수, 해결

Unit selectUnit = unitFacade.find(Long.parseLong(1)); 
         request.setAttribute("initiator", selectUnit); 

문제 ..

what selectedMeeting.getUnitInisiatorId() syntax is correct ..? 

못해 ..

+0

마지막으로 해결책을 다시 찾았습니다. – user1787209

+0

마침내 해결책을 다시 찾았습니다 .. 감사합니다 .. 문제가 해결되었습니다. – user1787209