📄 courseaction.java
字号:
package com.ibm.dw.open18;import java.io.Serializable;import java.util.Collections;import java.util.List;import org.jboss.seam.ScopeType;import org.jboss.seam.annotations.Begin;import org.jboss.seam.annotations.Factory;import org.jboss.seam.annotations.In;import org.jboss.seam.annotations.Name;import org.jboss.seam.annotations.Out;import org.jboss.seam.annotations.Scope;import org.jboss.seam.annotations.WebRemote;import org.jboss.seam.annotations.datamodel.DataModel;import org.jboss.seam.annotations.datamodel.DataModelSelection;import org.jboss.seam.core.FacesMessages;@Name( "courseAction" )@Scope( ScopeType.CONVERSATION )public class CourseAction implements Serializable { private static final long serialVersionUID = 1L; /** * The Seam-Spring integration wraps this Spring bean as a Seam component */ @In( create = true ) private CourseManager courseManager; @DataModel private List<Course> courses; @DataModelSelection @In( value = "course", required = false ) @Out( value = "course", required = false ) private Course selectedCourse; @WebRemote public List<Course> getCourses() { return courses; } @WebRemote public void setCoursePoint(Long id, Point point) { System.out.println( "Saving new point: " + point + " for course id: " + id ); Course course = courseManager.get( id ); course.setPoint( point ); courseManager.save( course ); } @Begin( join = true ) @Factory( "courses" ) public void findCourses() { System.out.println( "Retrieving courses..." ); courses = courseManager.getAll(); Collections.sort( courses ); } public String selectCourse() { selectCourseNoNav(); System.out.println( "Redirecting to /courses.jspx" ); return "/courses.jspx"; } public void selectCourseNoNav() { System.out.println( "Selected course: " + selectedCourse.getName() ); } public String showCourses() { selectedCourse = null; return "/courses.jspx"; } public String deleteCourse() { courseManager.remove( selectedCourse.getId() ); courses.remove( selectedCourse ); FacesMessages.instance().add( selectedCourse.getName() + " has been removed." ); // clear selected course so that it is not displayed in the detail pane selectedCourse = null; return "/courses.jspx"; } public String addCourse() { selectedCourse = new Course(); selectedCourse.setAddress( new Address() ); return "/courseEditor.jspx"; } public String editCourse() { selectedCourse = courseManager.get( selectedCourse.getId() ); return "/courseEditor.jspx"; } public String saveCourse() { // remove from cached list if ( selectedCourse.getId() != 0 ) { courses.remove( selectedCourse ); } courseManager.save( selectedCourse ); // add to cached list courses.add( selectedCourse ); Collections.sort( courses ); FacesMessages.instance().add( "#{course.name} has been saved." ); return "/courses.jspx"; } public String clearSelection() { clearSelectionNoNav(); return "/courses.jspx"; } public void clearSelectionNoNav() { System.out.println( "Clearing course selection" ); selectedCourse = null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -