Чтобы ответить на ваши вопросы:
Нет.1. label.firstName
может быть получено из любого стека значений, который поддерживается Struts.Это может быть из ресурса сообщения или из свойства класса действия, который пересылает в jsp.Пожалуйста, обратитесь к документу ниже для получения дополнительной информации:
http://struts.apache.org/2.2.3/docs/tag-syntax.html
Нет.2. employee.employeeId
может быть ссылкой на переменную employee
, установленную в Action, которая пересылает этот jsp.Если вы видите класс Action, который пересылает этот jsp, вы получите что-то вроде private Employee employee;
вместе с методами setEmployee(Employee employee)
и getEmployee()
, которые разделяют эту переменную вне объекта.И если вы увидите объявление класса Employee, вы увидите в нем переменную employeeId.К этой переменной будут обращаться теги struts с помощью метода getter.Здесь это будет getEmployeeId()
.Я рекомендую вам обратиться по ссылке ниже и просмотреть полные теги, которые можно использовать в Struts2 вместе с их использованием:
http://struts.apache.org/2.2.3/docs/tag-reference.html
В s:select
второго jsp,итерации по #session.departments
случаются.Здесь departments
может быть списком компонента EJB, для которого выполняется итерация.Этот список также входит в сессию.name="employee.department.departmentId"
определяет имя генерируемого элемента html select
.Вы можете увидеть это, если просматриваете источник html после загрузки страницы в браузере.Тег <s:select/>
генерирует выбор html вместе с элементами опции html внутри него.В этом случае, когда итерация происходит в списке departments
, к каждому объекту department
осуществляется доступ, и его departmentId
устанавливается как атрибут value
элемента option, а name
объекта отдела устанавливается как контент, которыйвы видите в элементе выбора.Для получения дополнительной информации вы можете обратиться к ссылке на тег s: select в приведенной выше ссылке.