我得到了一个JAR形式的“API”,可以从我的Java-Seam-Hibernate应用程序中执行一些外部会计操作。在内部,API是一个普通的Hibernate应用程序,除了Seam本身使用的数据源之外,还使用两个独立的数据源。问题是在执行内部.commit()时,其中一个“API”操作会引发以下异常:java.sql.SQLException:Youcannotcommitduringamanagedtransaction!atorg.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.jdbcCommit(BaseWra
我们正在开发一个Java网络应用程序,该应用程序将JSF(通过Seam的Richfaces)用于其UI。我读过几篇文章,指出在UI组件上使用“rendered=”属性会导致相当大的性能损失。我们有几个组件,我们希望根据是否设置它们的值来启用或禁用它们。例如,如果我们要展示待售商品,我们不会为未设置的属性设置一堆空白字段。然而,考虑到这种性能影响,我们对使用多个“渲染”字段感到担忧。有更好的替代方案吗?我们可以做些什么来提高使用该字段的性能? 最佳答案 如果getter除了返回一个(缓存的)boolean属性之外什么都不做,那么我真的
我有一个管理3个数据库的应用程序。我在seam框架上使用带JPA的hibernate。所以我有一个包含三个持久单元的persitence.xml文件(我删除了db2和db3的属性):org.hibernate.ejb.HibernatePersistencedb1sourceorg.hibernate.ejb.HibernatePersistenced2sourceorg.hibernate.ejb.HibernatePersistenced3source在我的seamcomponents.xml文件中,我创建了3个managed-persistence-context以将seam映射
是否可以手动将bean注入(inject)到CDI上下文中?使用JBossSeam框架,我总是可以执行类似Contexts.getConversationContext().set("foo",bar);这样的操作,Bean将成为该上下文的一部分。是否可以在JavaEE6CDI中执行类似的操作? 最佳答案 使用CDI,您必须稍微改变您对作用域bean的看法。在Seam2中,上下文只是保存在特定范围内的map,您可以访问这些map。在CDI中,容器获得了对上下文的控制权,并且只允许您在具体范围内声明bean,并且所有内容都在后台进行管
我的Seam代码有问题,我似乎无法弄清楚我做错了什么。它正在做我的头:)这是堆栈跟踪的摘录:Causedby:java.lang.IllegalArgumentException:Cannotsetjava.lang.Longfieldcom.oobjects.sso.manager.home.PresenceHome.customerIdtojava.lang.String我正在尝试将我的URL上的参数集传递到我的一个bean中。为此,我在pages.xml中进行了以下设置:我的bean是这样开始的:@Name("presenceHome")@Scope(ScopeType.CONV
为什么JavaEE6CDI缺少@ViewScoped和@FlashScoped注释?(尤其是前者让我很奇怪,因为CDI源于Seam世界,它已经知道非常相似的ScopeType.PAGE...)使用CDI时推荐的解决方法是什么?使用Seam3?谢谢 最佳答案 @ViewScoped特定于MVC框架JSF,而不是依赖注入(inject)框架CDI。只要您与同一个JSFView交互,View范围就会存在。CDI并没有真正的“View”概念。CDI的替代方案是@ConversationScoped它比请求范围长,但比session范围短。你
我有一个简单的表单,我不想意外提交多次。当用户第一次看到该页面时,我可以很容易地阻止他们多次点击,但我无法控制他们点击后退按钮。因此,在使用Struts之后,我决定使用表单提交token。有没有更简单的方法?Seam中是否已有此功能?如果没有,我应该如何将此功能构建到Seam中?//编辑//只是在这里澄清一下,我不需要任何东西来防止用户双重-点击。这已经解决了。具体用例如下:用户单击按钮。Action运行。在未来某个未指定的时间,用户点击后退按钮的次数足够多以返回带有该按钮的页面。用户再次单击该按钮。我该如何防范? 最佳答案 Sea
我想匹配除*.xhtml之外的所有内容。我有一个servlet正在监听*.xhtml并且我想要另一个servlet来捕获其他所有内容。如果我将FacesServlet映射到所有内容(*),它会在处理图标、样式表和所有非面部请求的内容时崩溃。这是我一直在尝试但未成功的。PatterninverseFacesUrlPattern=Pattern.compile(".*(^(\\.xhtml))");有什么想法吗?谢谢,沃尔特 最佳答案 您需要的是negativelookbehind(javaexample)。Stringregex=".
在我的AuthenticationFilter重定向到登录页面后,我想注销用户。这就是为什么,我将identity.logout();放在login.xhtml的预渲染方法checkPermission(...)中>.但是,当用户再次登录时,我得到了ViewExpiredException。我的问题是1:如果我不执行identity.logout();,用户将重新登录,因为旧的用户session仍然存在。2:如果我执行identity.logout();,当用户再次登录时我会得到ViewExpiredException。AuthenticationFilter.javapubliccl
我正在seam中做一个需要restfulURL的项目。我有一个映射到/group/{group}/{locale}的View。在该页面上,我有一个所谓的消息列表。每条消息都有一个按钮来保存对消息的更改。这链接到这样的操作bean:每条消息都有一个anchor,因此/group/{group}/{locale}#{id}可用于使浏览器转到该anchor。这就是为什么我需要在POST之后进行重定向:我还有以下重定向规则(UrlRewriteFilter)以获取正确的RESTfulURL:^/group.xhtml\?group=([\.\w]+)&locale=([\.\w]+)\#([\