So bekomme ich eine Liste von staff
.Wie bekomme ich Ergebnisse von einem Controller mit aktivierten Parametern?
public class StaffController {
private static final Logger logger = LoggerFactory.getLogger(StaffController.class);
@Inject
private StaffService service;
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String listAll(@Param("branchId") Integer branchId,
@Param("page") Integer page,
@Param("rowsPerPage") Integer rowsPerPage,
Model model,
HttpServletRequest request) throws Exception {
logger.info("Staff information list page.");
model.addAttribute("context", request.getContextPath());
Map<String, Object> keys = new HashMap<String, Object>();
keys.put("branchId", branchId);
keys.put("page", page);
keys.put("rowsPerPage", rowsPerPage);
//List<StaffVO> list = service.listAll(1, 1, 10);
List<StaffVO> list = service.listAll(keys);
model.addAttribute("list", list);
return "/staff/list";
}
}
Und dann in JSP, erhalte ich das Ergebnis wie folgt:
<% List<StaffVO> list = (List<StaffVO>)request.getAttribute("list"); %>
Ok, groß. aber wo in der Erde sollte ich Parameter wie branchId
, page
und rowsPerPage
weitergeben. Damit kann der Controller genau nachfragen was ich will.
Für jetzt ignoriere ich einfach Parameter und nur alles abfragen, weil branchId
, page
, rowsPerPage
sind alle null.
Und hier ist mein StaffMapper:
public interface StaffMapper {
final String SELECT_STAFF =
"SELECT staff.id, staff_level, staff.name, cell, date_join, employment, status, allow_absence_control, branch.id as branch_id, branch.name as branch_name " +
"FROM staff " +
"LEFT JOIN branch " +
"ON staff.branch_id=branch.id " +
"WHERE branch.id=1";
@Select(SELECT_STAFF)
public List<StaffVO> listAll(Map<String, Object> keys) throws Exception;
}
SO, davon ausgehen, dass ich jetzt keys
haben, die tatsächlich Schlüssel und Werte hat. Wie kann ich dann diese Information in die SELECT-Zeichenfolge einfügen?
Ich versuchte WHERE branch.id = #{keys[branchId]}
und viele mehr, aber leider nicht funktioniert.
Sie versuchen also, von Ihrer JSP abzufragen? –
@IvanLymar Ich möchte nur wissen, wie Parameter an die Methode listAll() im Controller übergeben werden. – sCha