Я использую NetBeans для веб-приложения в Java EE.Java Server Faces, эквивалентный Html.ActionLink
У меня есть один контроллер для класса сущности отсутствия (lackController) и один контроллер для класса сущности сотрудника (employeeController).
Я могу попасть на страницу создания сотрудника с помощью любой страницы, контролируемой absenceController:
<h:commandLink action="#{absenceController.prepareCreate}"
value="#{bundle.ListAbsenceCreateLink}"/>
Я могу попасть на страницу создания отсутствие с помощью любой страницы, контролируемой employeeController:
<h:commandLink action="#{employeeController.prepareCreate}"
value="#{bundle.ViewEmployeeCreateLink}" />
Когда я хочу создать новый экземпляр отсутствия, мне нужно, чтобы сотрудник был установлен заранее, поэтому я пытаюсь добраться до страницы создания отсутствия с страницы просмотра сотрудника (так называемый Tasks.xhtml), отправив экземпляр сотрудника как параметр.
В MVC .NET я бы использовал Html.ActionLink немного как это:
Html.ActionLink("Report Absence for employee"
, "Create"
, "Absence"
, new { employeeid = employee.Id } // <- I would only be able to send the id
, null)
В Java, это ближайший я получил:
<h:commandLink action="/absence/create"
value="#{bundle.TasksEmployeeCreateAbsenceLink}" >
<f:setPropertyActionListener target="#{absenceController.selected.employee}"
value="#{employeeController.selected}" />
</h:commandLink>
Структура папок как показано ниже:
Я знаю, что тег действия не правильно, но есть ли способ изменить его, чтобы получить желаемый результат, пожалуйста?
Должно ли это быть GET или POST-запросом? Вы считали идемпотентность такого запроса? – BalusC
Это было бы ПОЛУЧИТЬ. Прошу прощения, если я ошибаюсь в идемпотенции. Было бы нормально звонить несколько раз, потому что у сотрудника может быть много отсутствий. – Ali