Отправка параметра с помощью средства доступа к JSP-компоненту - PullRequest
1 голос
/ 16 сентября 2010

У меня есть компонент с именем EmployeeRoster:

public class EmployeeRoster {
  protected List<Employee> janitors;
  protected List<Employee> teachers;
}

В JSP я хочу получить доступ к различным спискам сотрудников по типу.Я знаю, что могу сделать что-то вроде:

${employeeRoster.getJanitors}

Однако у меня много разных типов сотрудников, и вместо создания средства доступа в EmployeeRoster для каждого типа я надеялся сделать что-то вродеthis:

${employeeRoster.get(EmployeeType.JANITOR)}  // obviously, not valid

Возможно ли это в JSP?Могу ли я применить параметр к вызову метода доступа к компоненту?

1 Ответ

1 голос
/ 16 сентября 2010

Вы можете использовать свойство Map<String, List<Employee>>.Например,

public class EmployeeRoster {
    private Map<String, List<Employee>> types = new HashMap<String, List<Employee>>();

    public EmployeeRoster() {
        // Fill the map here?
    }

    // Add/generate getter.
}

Затем вы можете получить доступ к значению карты следующим образом:

${employeeRoster.types.janitor}

, что в основном аналогично employeeRoster.getTypes().get("janitor").Вы также можете использовать динамический ключ, используя обозначение скобки:

${employeeRoster.types[type]}

, что в основном employeeRoster.getTypes().get(type).

См. Также:

...