- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 try/catch block ,在 catch 中我发送一条消息,关于问题的一些信息,然后我抛出异常(以阻止后面出现的所有内容,在这种情况下,我在业务规则方法中,我希望避免托管 bean 方法中的所有内容)
好吧,如果我只发送消息,它可以正常工作,但不会阻止调用方法(调用具有实际 trycatch 的方法)
我实际上拥有什么:
public void save() {
ProdEN prod;
if(prod.getId() == null) {
prod = prodDB.insert(prod);
} else {
prod = prodDB.update(prod);
}
if(prod== null) {
FacesUtil.addErrorMessage(MessageProvider.getMessage("error.save"));
}
FacesUtil.addInfoMessage(MessageProvider.getMessage("products.save.success"));
}
然后,调用的方法:
public ProdEN insert(ProdEN prod) {
try {
beginTransaction();
prod = (ProdEN) insert(prod, true);
commitTransaction();
} catch (Exception ex) {
FacesUtil.addErrorMessage(MessageProvider.getMessage("error.save"));
FacesContext.getCurrentInstance().responseComplete();
throw ex;
}
return prod;
}
尝试了一些搜索,但我发现的所有内容都不起作用,有什么想法吗?谢谢。
最佳答案
它应该像这样工作。
插入方法的更改。
您不需要在此处添加错误消息。另外,您不需要返回 prod 对象。 Java改变它的value值。
public void insert(ProdEN prod) {
try {
beginTransaction();
prod = (ProdEN) insert(prod, true);
commitTransaction();
} catch (Exception ex) {
//FacesUtil.addErrorMessage(MessageProvider.getMessage("error.save"));
//FacesContext.getCurrentInstance().responseComplete();
throw ex;
}
//return prod;
}
现在是你的保存方法。
public void save() {
ProdEN prod;
try{
if(prod.getId() == null) {
prodDB.insert(prod);
if(prod.getId()==null){
FacesUtil.addErrorMessage(MessageProvider.getMessage("error.save"));
return
}
} else {
prod = prodDB.update(prod);
}
}catch(Exception e){
FacesUtil.addErrorMessage(MessageProvider.getMessage("error.save"));
return;
}
FacesUtil.addInfoMessage(MessageProvider.getMessage("products.save.success"));
}
关于java - 抛出异常后的 FacesContext 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23717827/
我正在检查 this template 的代码来自 OmniFaces Showcase app ,当我遇到一个p:selectOneMenu中使用的以下条件时: disabled="#{facesC
我想在 Websphere 上部署一个企业项目。 我得到以下异常。 可能是什么原因? [03.09.12 11:21:05:636 CEST] 0000001a webapp E com
我正在集成 SWF 2.2.1、Primefaces 2.2.1、JSF 2、Spring Security 3、Spring 3.1.0M1。我能够访问 Spring web-flow xml 中提
当我点击应用程序 URL (http://localhost:9082/pages/upload.jsf) 时,浏览器上只显示“Error:500 StackOverflowError”。根据我在这个
当我点击应用程序 URL (http://localhost:9082/pages/upload.jsf) 时,浏览器上只显示“Error:500 StackOverflowError”。根据我在这个
如何在过滤器中检索 FacesContext? 我遵循以下关于如何检索 FacesContext 的文章在 Filter : http://ocpsoft.org/java/jsf-java/jsf-
FacesContext 有何用途? 它具体是在哪里实现的? 最佳答案 引自JSF 2.0 specification第6.1章: FacesContext JSF defines the javax
嗨, 这个问题来自之前的answered提问者 BalusC 。答案摘录如下: This happens only if under the covers a forward by RequestDi
我的jsp页面是:主页.jsp Insert title here Employee Management P
在我的 previous question我遇到了从登录表单显示验证消息的问题。该问题现已解决,但这次我无法显示带有 FacesContex#addMessage 的自定义消息. 使用 JSF + P
莫哈拉 2.2.12 这是接管 FacesContext 实例化的一段代码: FacesContext context = facesContextFactory.getFacesContext
我试图通过在FacesContext类的FacesContext.getCurrentInstance()方法中调用run()来获取Runnable,但它返回null。 public class Ta
同时通过javadoc of FacesContext ,我遇到了这句话 The instance remains active until its release() method is calle
我已经在 Icefaces 论坛上问过这个问题,但同时我意识到这是一个更通用的问题。 当我在 MDB 中收到消息时,我想更新 JSF 页面的某些部分。 问题是,如何从 EJB 容器中获取 FacesC
无法在自生成的线程中获得“FacesContext.getCurrentInstance()”。 需要根据后端流程动态更新组件。通过创建一个线程来监视进程并与 p:poll 一起回调组件更新来实现相同
这个问题在这里已经有了答案: Can I update a JSF component from a JSF backing bean method? (5 个回答) 5年前关闭。 实际上,当出现 k
我正在尝试向 JSF 应用程序添加一些单元测试。此应用程序没有严重依赖任何最佳实践,因此许多服务方法使用 FacesContext从托管 session bean 中提取数据,如下所示: (这是在一个
我有一个问题。我需要知道我的页面是否存在全局错误。这是因为我有 2 个不同的 h:messages (错误容器) 一个将显示业务相关消息,另一个将仅显示验证消息。由于业务需求,有两条消息。 当生成
我在两台不同的机器上有相同的代码。一个在工作,另一个没有!代码在这里...你能发现我错过了什么吗? public void urlParameters() { FacesContext con
问题如下:我需要序列化用户 session ,因此,在服务器重新启动后它仍然存在。 使用 JavaEE 和 Tomcat 7 与 implements Serialized 配合使用效果很好,但问题在
我是一名优秀的程序员,十分优秀!