Доступно по #{request.requestURL}
(или, если вы хотите указать только путь к домену, используйте #{request.requestURI}
).Используйте f:param
для его передачи и @ManagedProperty
для его обработки.
<h:commandButton action="#{bean.submit}" value="submit">
<f:param name="url" value="#{request.requestURL}" />
</h:commandButton>
с
@ManagedProperty("#{param.url}")
private String url;
Следует отметить, чтоf:param
внутри h:commandButton
не работает в JSF 1.x.Вместо этого вы хотели бы использовать h:commandLink
.
Обновление в соответствии с комментариями: я понял, что вы хотите "передать текущий URL-адресуправляемый боб ".Но вы на самом деле хотите «получить доступ к текущему URL в управляемом бине».
В этом случае либо замените #{param.url}
на #{request.requestURL}
:
@ManagedProperty("#{request.requestURL}")
private String url;
или получите необработанное HttpServletRequest
экземпляр из-под колпаков JSF ExternalContext#getRequest()
:
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
String requestURL = request.getRequestURL();