首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为JSF中的不同PROJECT_STAGE获取不同的错误页面

在JSF中,可以通过配置不同的错误页面来为不同的PROJECT_STAGE获取不同的错误页面。PROJECT_STAGE是JSF中的一个上下文参数,用于指定应用程序的当前阶段,包括Development、Production和SystemTest三个阶段。

要为不同的PROJECT_STAGE获取不同的错误页面,可以按照以下步骤进行操作:

  1. 在web.xml文件中配置错误页面的映射。在web.xml文件中,可以使用<error-page>元素来配置错误页面的映射关系。例如:
代码语言:txt
复制
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/error.xhtml</location>
</error-page>

上述配置将所有类型的异常都映射到名为error.xhtml的错误页面。

  1. 在faces-config.xml文件中配置不同PROJECT_STAGE下的错误页面。在faces-config.xml文件中,可以使用<system-event-listener>元素来监听系统事件,并根据当前的PROJECT_STAGE来决定使用哪个错误页面。例如:
代码语言:txt
复制
<system-event-listener>
    <system-event-listener-class>com.example.ErrorPageListener</system-event-listener-class>
    <system-event-class>javax.faces.event.ExceptionQueuedEvent</system-event-class>
    <source-class>javax.faces.application.ProjectStage</source-class>
</system-event-listener>

上述配置将监听ExceptionQueuedEvent事件,并根据当前的ProjectStage来决定使用哪个错误页面。可以自定义一个ErrorPageListener类来实现这个逻辑。

  1. 在ErrorPageListener类中根据PROJECT_STAGE获取对应的错误页面。在ErrorPageListener类中,可以通过调用ProjectStage.getCurrentStage()方法来获取当前的PROJECT_STAGE,然后根据不同的PROJECT_STAGE返回对应的错误页面。例如:
代码语言:txt
复制
public class ErrorPageListener implements SystemEventListener {
    @Override
    public void processEvent(SystemEvent event) throws AbortProcessingException {
        ProjectStage projectStage = ProjectStage.getCurrentStage(FacesContext.getCurrentInstance());
        String errorPage = null;
        
        if (projectStage == ProjectStage.Development) {
            errorPage = "/error_dev.xhtml";
        } else if (projectStage == ProjectStage.Production) {
            errorPage = "/error_prod.xhtml";
        } else if (projectStage == ProjectStage.SystemTest) {
            errorPage = "/error_test.xhtml";
        }
        
        ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
        externalContext.getRequestMap().put("javax.servlet.error.status_code", 500);
        externalContext.getRequestMap().put("javax.servlet.error.exception_type", Throwable.class);
        externalContext.getRequestMap().put("javax.servlet.error.message", "Internal Server Error");
        externalContext.dispatch(errorPage);
    }

    @Override
    public boolean isListenerForSource(Object source) {
        return source instanceof ProjectStage;
    }
}

上述代码示例中,根据当前的PROJECT_STAGE设置不同的errorPage变量,然后通过ExternalContext将错误页面分发到对应的URL。

通过以上步骤,就可以为JSF中的不同PROJECT_STAGE获取不同的错误页面。根据具体的需求,可以配置不同的错误页面,以提供更好的用户体验和错误处理能力。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生应用引擎(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云内容分发网络(CDN):https://cloud.tencent.com/product/cdn
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云移动开发(Mobile):https://cloud.tencent.com/product/mobile
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【技术】通过梯度下降逆向工程获取食品不同成分含量

这是一个小型实验,我猜了包装食品每种成分不同含量。基于成分表和营养成分标签,我把这个任务表述成一个线性回归问题,以成分百分比作为参数。...权重 在我线性回归模型,参数(权重)是不同成分克数: w1是100gNutella量, w2是100gNutella棕榈油量, 等等… 在某些情况下,一些百分比是已知。...x是包含每种成分脂肪百分比行向量: x1是糖脂肪百分比(0%) x2棕榈油脂肪百分比(100%) … 这些还很简单。但是对于某些成分来说,很难猜测它构成(比如卵磷脂,lecithin)。...注意:有这个数据库并不意味着万事大吉了,因为营养成分变化很大(比如榛子粉有不同品种,你可以选择烘烤加工过或者没有烘烤过,可可也可以选择没有加工过或者低脂…) 最深一层神经网络另一面,y是一个标量...但我认为,实现过程往往比结果更重要,希望你喜欢它! ? 附:花生巧克力成分 我还试图了解著名Reese花生巧克力杯成分。 这个任务非常困难,,没有人知道10种不同成分比例。

1K80

PQ-M及函数:实现Excellookup分段取值(读取不同级别的提成比例)

小勤:我现在有个按营业额不同等级提成比例表,怎么用Power Query读到营业额数据表里?如下图所示: 大海:这个问题如果是在Excel里的话,用Lookup函数非常简单。...,类似于在Excel做如下操作(比如针对营业额为2000行,到提成比例表里取数据): 那么,Table.SelectRows结果如下图所示: 2、在Table.SelectRows得到相应结果后...大海:这其实是Table.SelectRows进行筛选表操作时条件,这相当于将一个自定义函数用于做条件判断,其中(t)表示将提成比例表作为参数,而t[营业额]表示提成比例表里营业额列,而最后面的[...营业额]指的是数据源表里营业额,这里面注意不要搞乱了。...大海:PQ里函数式写法跟Excel里公式不太一样,慢慢适应就好了。

1.7K20

springboot配置之获取配置文件属性第二种方法(@Value)不同于@ConfigurationProperties

import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; //将配置文件属性映射到组件...//prefix:表示配置文件哪个下面的属性进行一一映射 @Component //@ConfigurationProperties(prefix="person") public class Person...{ /** * <property name="username" value="字面量/${key}从环境变量<em>中</em><em>获取</em>值/#{}spel...... ] 运行测试: Person{username='张三', age=22, email='test@qq.com', maps=null, lists=null, dog=null} 它们之间<em>的</em><em>不同</em>点...: ConfigurationProperties:批量注入配置文件<em>中</em><em>的</em>属性,Value:一个个绑定 ConfigurationProperties:支持松散绑定。

81310

UData-解决数据使用最后一公里

解析SQL语句 在这一步骤,SQL语句会进行语法检查,不符合规范语句返回错误,之后经过语法解析,会生成一个抽象语法树,上面实例SQL语句(语句中有聚合,排序,谓词条件,limit等元素...: FromClause 会转换为逻辑计划LogicalScanOperator这种扫表操作; WhereClause 会转换成逻辑计划LOGICAL_FILTER,指导后续进行进行条件过滤;...图22 UData聚合下推性能提升执行图 3.3 JSF&HTTP&ClickHouse支持 - 京东生态对齐 3.3.1 简介 JSF是京东内部一种RPC调用服务,很多数据分析场景...转换为对应逻辑计划,并进一步转换为物理计划节点; BE侧增加对应ScanNode,进行数据查询; 对于JSF和HTTP,通过函数,用于从FE侧将查询参数传输到BE侧真实查询节点,查询参数下推,同时列过滤条件在获取数据后...; 查询参数下推:jsfparam函数内置于Udata查询引擎,可以通过此函数,将需要带入到Jsf调用参数从调用端一直传递到Jsf服务,从而减少数据获取; 联邦查询:Jsf表同其他外表一样可以支持联邦查询

35410

Eclipse、NetBeans、IntelliJ

提供了非可视化编辑器来显示在应用程序页面导航功能,提供对Tiles 和Validators配置完全支持。   ...下为NetBeans对Struts支持: JSF开发:   NetBeans对JSF支持就像对Struts支持一样,提供了一个基本向导来创建一个工程,包括类库,配置所有要求文件等,甚至在JSP...JSF 开发 对JSF 开发支持应该比其他IDE更好,提供了更成熟JSF功能,包括对faces-config.xml进行可视化编辑,代码自动装配,在JSP页面管理 bean属性,新管理bean...总结:      对不同IDE,每个人有着不同见解,同时每个IDE也有着不同特性和优点,根据开发不同需要可能会选择不同IDE。      ...在Java开发每个方面,每个IDE都能胜任工作,然而根据你所做不同开发Swing开发,web开发,或者企业开发,我们会选择不同IDE。

2K30

在画图软件,可以画出不同大小或颜色圆形、矩形等几何图形。几何图形之间有许多共同特征,它们可以是用某种颜色画出来,可以是填充或者不填充

分别设计实现抽象类 图形类,子类类圆形类、正方形类、长方形类,要求: ①抽象类图形类中有属性包括画笔颜色(String类型)、图形是否填充(boolean类型:true表示填充,false表示不填充), 有方法获取图形面积...、获取图形周长等; ②使用构造方法为其属性赋初值; ③在每个子类中都重写toString()方法,返回所有属性信息; ④根据文字描述合理设计子类其他属性和方法。...(2)设计实现画板类,要求: ①画一个红色、无填充、长和宽分别为10.0与5.0长方形; ②画一个绿色、有填充、半径为3.0圆形; ③画一个黄色、无填充、边长为4.0正方形; ④分别求三个对象面积和周长...,并将每个对象所有属性信息打印到控制台。...:" +getColour() +"\t"+"有无填充:" +isFill()+ "半径为:"+getR()+"圆形面积为:"+area()+"周长为:"+perimeter() ; } }

1.8K30

测试小白进阶之路

最后,在设计用例时候,可以根据不同维度进行设计,接口、页面等。 1、基本测试用例设计方法 •基本测试用例设计方法(边界值分析、等价类划分等)。...•需求产生原因和价值(产品需求/研发需求;优化迭代、老应用增加新功能、新系统开发)。 •不同类型需求侧重不同测试点(运营功能、JSF接口、定时任务等)。...•测试用例模板:标题、配置条件(测试工具、中间件使用情况)、测试数据、用例执行先后顺序(先冻结再解冻,需对原单号进行解冻、用例优先级)、预期结果(错误场景返回结果是否合理)等。...•根据不同需求测试类型(JSF接口测试、页面测试、新增数据表、JDOS迁移等类型)总结测试用例模板。...1)掌握开发知识与业务知识专业术语,提升沟通效率。 2)记录多个问题,一并沟通。 3)沟通方式方面,先保证测试步骤是正确,将bug截图、日志错误、问题描述精准表述。

15740

【大牛经验】Java开源web框架汇总(152款)

它不仅仅能处理动态内容,jsp,php,asp等产生内容,它也能处理静态内容,htm内容,使得它内容也符合你页面结构要求。...AppFuse提供了Web系统开发过程中都需要开发一些功能,登陆、用户密码加密,用户管理、根据不同用户可以展现不同菜单.J2EE开发者也可以在此基础上开发加入自己功能模块。...65 jsf-comp jsf-comp一组JSF组件: Chart Creator 用于在JSF页面操作JFreeChart Client Validators 用于JSF客户端校验 Acegi-JSF...3.Url safety:Url用Java编码创建而不是在模板,所以你不可能创建坏掉链接。 4.灵活性:支持不同表现层引擎:velocity,jsp等。...AribaWeb开发Web应用支持部署在不同J2EE运行环境。 ?

5.4K50

一文了解电商大促系统高可用保障思路-献给技术伙伴们

,通过事件解析引擎解析用户自定义事件并完成事件绑定,完成解析赋值以及事件绑定后进行视图渲染,最终将目标页面展示到屏幕。...“十节甘蔗”示意 通过上面的讲述其实是想要说一件事,如果单纯字面上说电商大促备战是没有意义,针对不同环节“甘蔗”,整个电商大促重要性不同,所以电商大促备战,需要明确自己系统在整个业务链路位置...,通过事件解析引擎解析用户自定义事件并完成事件绑定,完成解析赋值以及事件绑定后进行视图渲染,最终将目标页面展示到屏幕。...那么在整个大促备战过程,基于场景不同,所以大促备战目标也不可同述。但是整体总目标来说,依然维持在可用性,如何保障交易核心链路更稳、更好支撑用户购买下单,促成交易。...图2.工作安排示意 4.2 事:基于备战情况保持警惕备战状态 (1)每日邮件指标报表通晒 (2)每日错误日志收集并反馈和解决 (3)每日监控报警根因分析 (4)每日站会同步当天系统应用和人员情况 (

35720

JDK8升级JDK11最全实践干货来了

,通过事件解析引擎解析用户自定义事件并完成事件绑定,完成解析赋值以及事件绑定后进行视图渲染,最终将目标页面展示到屏幕。...3)明确依赖关系 模块化系统要求在模块之间明确定义依赖关系。在编译或运行代码之前,模块系统会检查模块是否满足所有依赖关系,从而导致更少运行时错误。...* JSF是京东内部使用高性能RPC框架 进行模块化时,pom依赖了jsf包,模块定义如下: module module.a { requires fastjson; //依赖jsf...解决方案: 联系JSF团队,升级JSF包,修复上面说FastJsonAutoDiscoverable配置错误问题。...拆分包始终是不正常,而当使用解析可传递依赖项构建工具(Maven等)时,很容易出现同一个库多个版本,当Java模块系统检测到一个包存在于模块路径上多个模块时,就会拒绝启动。

77620

EasyMock技术解密

) 1)方法级别透传:被测应用调用同一接口不同方法,可实现一个方法Mock,一个方法调用真实服务; 2)参数模版级别:被Mock方法匹配不到参数模版时,可设置调用真实服务(即将上线); 5....更多功能持续迭代。...02 平台实现技术解密-JSF Mock 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值...Jar包后,需要通过ClassLoader将Jar包加载到JVM,这里采用URLClassLoader进行加载,URLClassLoader继承于ClassLoader,支持从Jar文件和文件夹获取Class...从设计稿出发,提升页面搭建效率,亟需解决核心问题有: 以上为JSF Mock实现过程,后续会继续分享HTTP Mock实现过程及平台开发过程解决各种技术难点。

17120

全场景流量验证系统

且各个接单入口调用方式各异,有JOS请求(外部商家)、JSF请求(TC),也有MQ异步消息(POP)。...02  名词解释   理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树结构,转换完成后将通过表达式引擎解析表达式并取得正确值...,通过事件解析引擎解析用户自定义事件并完成事件绑定,完成解析赋值以及事件绑定后进行视图渲染,最终将目标页面展示到屏幕。...,通过事件解析引擎解析用户自定义事件并完成事件绑定,完成解析赋值以及事件绑定后进行视图渲染,最终将目标页面展示到屏幕。...为使外部商家无感,发布一个和业务系统接口完全相同JSF服务(虚服务),不同是提供一个新别名,通过JOS平台配置切换到新别名,这样就把JOS流量引入到了录制代理,然后再由录制代理通过异步MQ方式将流量上报给录制服务做持久化存储

90720

细数Java技术架构这些年发展史

ActionServlet根据struts-config.xml里映射关系找到对应Action,若找不到就返回500错误到JSP页面。...Spring 框架提供了构建 Web 应用程序全功能 MVC 模块。SpringMVC是一种web层mvc框架,用于替代servlet(处理响应请求,获取表单参数,表单验证等) 1....具体步骤: 首先用户发送请求到前端控制器,前端控制器根据请求信息( URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前控制器控制逻辑部分;图中 1、2 步骤; 页面控制器接收到请求后...五、业界服务治理方案 业界互联网巨头公司,都有属于自己分布式服务框架,阿里巴巴Dubbo,HSF,腾讯Tars,京东JSF,新浪Motan,都已经是业界非常成熟解决方案,其中开源Dubbo...(2)JSF:下图是JSF在服务治理方面的架构设计   初始化阶段:Provider启动后向服务注册中心发布注册自己服务   invoke阶段:与Dubbo不同是,JSF注册中心不向Consumer

1.6K50

纯手工搭建JSF开发环境(JSF2.2+maven+weblogic 12cjboss EAP 6.1+)

目前国内主流开发架构大多采用SSH,很少有JSF 2.x + EJB 3.x应用,但从我个人感觉来看,特别是对于从.NET转型到JAVAweb程序员而言,JSF很多概念其实跟.NET很接近,国外已经有越来越多项目在采用...注:对maven目录结构约定不清楚朋友,建议先看这里 接下来,指定web站点内容目录(即:用来存放"页面\样式\脚本"目录),这里输入webapp ?...三、配置pom.xml依赖项 JSF只是官方一个规范,并不是具体产品,针对这个规范,各厂商都有自己实现(即: 官方定义了一组interface,但是未给出具体接口实现,然后各大厂商提供了各家实现...),比如: ApachemyFaces,oracle/sun公司Mojarra,以及Jbossrichfaces,这三种实现从编写代码角度看,并无太大差别,但部署在不同web server上,...; 10 } 11 12 } 4.2 新建一个xhtml页面 1 <!

1.4K10

混沌演练实践(一)

红方: 创建演练计划:通过访问RPA自动化服务平台,进入工具市场——演练类,选择不同故障方案,点击“立即执行”; 演练配置:点击执行后,进入配置页面,选择执行环境,选取要演练应用,并随机选取要演练实例...其中准备阶段最重要是做好风险评估 ,根据系统等级或者混沌成熟度,初期演练一些简单事件比如高CPU、高内存;等系统抵抗力逐步提升演练比较高级事件网络延迟、进程终止等。...模拟JSF接口响应超时场景,发现缺少失败阈值告警邮件,增加相应告警邮件; 图6 增加告警通知 03 混沌演练总结 理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板...,最终将目标页面展示到屏幕。...“发现-定位-恢复”时效性指标,下面具体介绍了在实践演练需要重点关注指标,如是否有告警监控、系统容错能力情况,以及响应机制,其中最后灰色部分高可用指标属于探索部分,会随着系统当前实际情况和业务不同有变化

27420

Java EE平台介绍(译)

2.1.1 多层次应用 在一个多层次应用,应用功能被分割为相对独立多个不同功能区域,我们称之为层。...JSF Java Web 应用程序一个用户界面 (UI) 框架 https://netbeans.org/kb/docs/web/jsf20-intro_zh_CN.html 表达式语言 一系列交互式展现标签...数据通常是从企业应用不同服务器上获取并被业务逻辑层进行处理。...Java EE 服务器也通常被称为应用服务器, 如同web服务器向浏览器提供页面一样,它们可将应用数据传递到客户端。 Java EE服务器以容器方式运行应用不同层次组件。...web可以是servlet,或者JSF页面,web容器负责维护web组件生命周期,分发用户请求,提供上下文信息(例如当前请求数据)。

81510

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券