2012-10-27 4 views
0

스트럿츠를 처음 사용했습니다. 나는 내 문제에 대한 나의 해결책이 맞는지 아닌지 정확히 모른다. 아래 그림과 같이 저는 두 테이블이 내 문제입니다strut2 반복기에서 다중 값 얻기

relation tables

내가 필드, 그룹 이름, 그룹의 ID 및 하위의 이름을 보여주는, 위의 테이블을 기반으로 HTML 테이블을 만들고 싶습니다 그룹과 하위 그룹의 이드. 목록 및 반복기를 사용하려고했습니다. 그러나

<table> 
    <s:iterator status="status" value="namesHead" > 
    <tr><td><s:property/></td></tr> 
    </s:iterator> 
</table> 

(그룹의 이름은 내가 위의 코드에서 얻을 수

JSP 페이지에서 모두 값 (이름과 ID 모두)

클래스

public List getName() { 
    return namesHead; 
} 

public void setName(List name) { 
    this.namesHead = name; 
} 

public String listModules() { 
    SessionFactory factory = HibernateLoginUtil.getFactory(); 
    Session session = factory.openSession(); 
    Query q1 = session.createQuery ("select id,name FROM TableUsrModuleGroup WHERE stat='active'"); 
    for(Iterator it = q1.iterate() ; it.hasNext() ;) { 
     Object row[] = (Object[]) it.next(); 
     namesHead.add (row[1]); //put the name 
    } 
    return SUCCESS; 
} 

내부를 얻을 수 아니다 그룹 이름, 그룹 ID, 서브 그룹의 이름, 서브 그룹의 ID를 표시 할 필요가있다.)

답변

0

당신이 Hibernate를 사용한다면 가장 간단한 옵션은 두 클래스를 매핑 한 다음 H QL 쿼리. 예를 들면 : 당신이 작업에 하위 그룹 속성을 설정하고 당신이 그들에 대한 액세스를 다음

Query q = session.createQuery ("FROM SubGroup"); 
List<SubGroup> subgroups = (List<SubGroup>) q.list(); 

:

public class Group { 
    @OneToMany (mappedBy = "group", fetch = FetchType.LAZY) 
    private Collection <SubGroup> subgroup; 
    ... // Rest of the class, getters and setters 
} 

public class SubGroup { 
    @ManyToOne (fetch = FetchType.LAZY) 
    private Group group; 
    ... // Rest of the class, getters and setters 
} 

그런 다음 당신은 Group 클래스를 얻기 위해이 HQL 쿼리를 확인해야합니다 jsp.

<table> 
    <s:iterator value="subgroups" > 
    <tr> 
     <td> 
      <s:property value="name"/> 
     </td> 

     <td> 
      <s:property value="id"/> 
     </td> 

     <td> 
      <s:property value="group.name"/> 
     </td> 

     <td> 
      <s:property value="group.id"/> 
     </td> 
    </tr> 
    </s:iterator> 
</table> 

나는 그것이 = 도움이되기를 바랍니다)

0

는 객체 데이터베이스에서하지 특정 필드를 가져옵니다. 액션에서 그 객체에 대한 getter와 setter가 있어야합니다. 그런 다음 JSP에서 객체의 모든 속성을 가져올 수 있습니다 (객체에 대한 setter/getter를 잊지 마세요).