0

やあみんな、私がやっているプロジェクトでいくつかの問題があります:/

私はこのコードを持っています

public class ListaAlumnoAction {

private List<Alumno> alumnos;

public String execute(){
    String camino="success";
    EntityManager em= Utilitario.getInstance().getEntityManager();
    Query query=em.createQuery("Select o From Alumno o");
    alumnos=query.getResultList();
    return camino;
}

public List<Alumno> getAlumnos() {
    return alumnos;
}

public void setAlumnos(List<Alumno> alumnos) {
    this.alumnos = alumnos;
}
}

このメソッドにより、学生のリストが得られます。しかし、この場合、たとえばコードまたは名前と姓で検索する 1 人の学生だけが必要です。問題は、この目的にどのような種類のツールが使用されているかわかりません。

ありがとうございます。

4

1 に答える 1

0

指定された入力条件で生徒を検索するには、必要な入力をページからアクション クラスに渡す必要があります。また、言及された名前または姓、または必要な入力によって学生レコードを検索するクエリを変更する必要があります。

たとえば、学生の名前が入力基準であるとします。

ページから生徒の名前を渡すには:

 <s:form>
    ......          
    <s:textfield name="studentName" label="Student Name"></s:textfield>   
    <s:submit value="Search" name="submit" action="ListaAlumnoAction"/>
   ......
  </s:form>

ここで、studentName は検索操作の入力となり、ListaAlumnoAction は検索ボタンがクリックされたときに起動されるアクションです。

アクション クラスで生徒の名前を取得するには:

     public class ListaAlumnoAction {

        private List<Alumno> alumnos;

 /* Please note both the text filed name in the page and attribute should be same "studentName" */
        private String studentName;   


      public String execute(){
        String camino="success";
        EntityManager em= Utilitario.getInstance().getEntityManager();
       // "name" variable will hold the studentName      
        String name = getStudentName();
       // Modify the query, by passing the name if it is not null
        Query query=em.createQuery("Select o From Alumno o");
        alumnos=query.getResultList();
        return camino;
    }

    public List<Alumno> getAlumnos() {
        return alumnos;
    }

    public void setAlumnos(List<Alumno> alumnos) {
        this.alumnos = alumnos;
    }

    // getter and setter for the studentName
    public String getStudentName(){
      return studentName;
     }
    public void setStudentName(String studentName){
      this.studentName = studentName;
     }     

    }
于 2012-10-25T04:52:57.217 に答える