2011-03-03 2 views
0

내 액션 클래스에서 JSP 페이지 내 데이터를 표시 할 수 있습니다 것은 : -어떻게 내가 struts2

package com.action; 

import java.util.Iterator; 
import java.util.List; 

import javax.persistence.EntityManager; 
import javax.persistence.EntityManagerFactory; 
import javax.persistence.EntityTransaction; 
import javax.persistence.Persistence; 
import javax.persistence.Query; 

import org.apache.struts2.convention.annotation.*; 
import org.apache.struts2.rest.DefaultHttpHeaders; 

import com.opensymphony.xwork2.ActionSupport; 

@ParentPackage(value="default") 
@Namespace("/") 
@ResultPath(value="/") 
public class noOfUsers extends ActionSupport { 

    private static final long serialVersionUID = 1L; 

    @Action(value="usersn",results={ 
      @Result(name="create",type="tiles",location="users")  
     }) 

     public static DefaultHttpHeaders create(){ 

     EntityManagerFactory emf=Persistence.createEntityManagerFactory("tujpa"); 
     EntityManager em=emf.createEntityManager(); 
     EntityTransaction entr=em.getTransaction(); 
     entr.begin();   
     Query query=em.createQuery("SELECT U.firstname from User U"); 
     List <User> list = query.getResultList(); 
     System.out.println("password"); 
     Iterator iterator = list.iterator(); 
     System.out.println("password1"); 

     while(iterator.hasNext()){ 
      String empFirstName = (String)iterator.next();  
      System.out.print("Emp Name:"+empFirstName);  
      System.out.println("password2"); 
     } 
     entr.commit(); 
     em.close(); 
     return new DefaultHttpHeaders("create");  
    } 
} 

그리고 난 내 JSP 페이지 내 결과 목록을 표시하려면, 그렇게 안내하시기 바랍니다. 사전에 감사합니다.

답변

1

왜 대답이 없었는지 알 수 있습니다 ... 터미널에 인쇄 한 JPA 코드를 가져 와서 인터넷에서 발견 한 S2 클래스에 붙여 넣었습니까?

간단한 "Hello World"응용 프로그램을 시작하십시오 : 그 실행중인 경우 http://struts.apache.org/2.2.1.1/docs/getting-started.html

는, 반복자 태그를 사용하는 예는 많이있다. 이 태그는 JSP로 진행되며 위에 나열된 사이트에 문서화되어 있습니다.

액션 코드는 다음 (빠른 해킹 작업)과 같이 될 것입니다 :

public class UserList extends ActionSupport { 
    List <User> list; 
    public String action(){ 
     EntityManagerFactory emf=Persistence.createEntityManagerFactory("tujpa"); 
     EntityManager em=emf.createEntityManager(); 
     EntityTransaction entr=em.getTransaction(); 
     entr.begin();   
     Query query=em.createQuery("SELECT U.firstname from User U"); 
     list = query.getResultList(); 
     em.close(); 
     return SUCCESS; 
    } 
} 

지금 당신은 몇 가지 DI 프레임 워크를 연구해야 ... S2는의 EntityManagerFactory/EntityManager의 봄에 처리하는 것은 만들 것 움직이는 좋은 Spring 통합을 가지고 위의 많은 청소기. 다음과 같음 :

public String action(){ 
     list = em.createQuery("SELECT U.firstname from User U").getResultList(); 
     return SUCCESS; 
    }