gpt4 book ai didi

java - 以编程方式获取当前页面

转载 作者:IT老高 更新时间:2023-10-28 13:53:59 24 4
gpt4 key购买 nike

在一个 JSF 支持 bean(托管 Bean,焊接 Bean,没关系)中,我可以通过调用获取客户端所在的上下文路径

FacesContext ctx = FacesContext.getCurrentInstance();
String path = ctx.getExternalContext().getRequestContextPath();

这为我提供了客户端当前访问的路径,例如 /myapplication。是否也可以获取当前的页面,比如/home.faces,以及如何获取?

最佳答案

您通常希望使用 UIViewRoot#getViewId() 为此。

String viewId = facesContext.getViewRoot().getViewId();

这在 EL 中也可用如下:

#{view.viewId}

正是这个值可以在导航案例结果中重复使用,例如 <h:link outcome><h:button outcome> .


或者,您也可以使用 HttpServletRequest#getRequestURI()获取最终用户在浏览器地址栏中实际看到的任何内容。

String uri = ((HttpServletRequest) externalContext.getRequest()).getRequestURI();

在 EL 中也可以使用如下:

#{request.requestURI}

正是这个值可以在<h:outputLink value> 中重复使用或普通 <a href> .请注意,您不能将其用作导航案例结果。

关于java - 以编程方式获取当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3253923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com