指定された入力条件で生徒を検索するには、必要な入力をページからアクション クラスに渡す必要があります。また、言及された名前または姓、または必要な入力によって学生レコードを検索するクエリを変更する必要があります。
たとえば、学生の名前が入力基準であるとします。
ページから生徒の名前を渡すには:
<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;
}
}