问题标签 [seam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1701 浏览

java - 使用 JBoss Seam 进行构造函数注入

我是 JBoss Seam 的新手。我想知道如何在 JBoss Seam 中实例化一个没有无参数构造函数的类。

我必须实例化只有接收参数的构造函数的 JsonPrimitive(来自 Google Gson 框架)。

常规代码将如何:

尝试将代码传输到 Seam:

但是Seam中的这种东西(如上所示)对我没有帮助。我必须在构造函数中传递一个参数来实例化该类。

在实例化要注入的对象时,我如何告诉 Seam 在构造函数中使用参数?

谢谢!

0 投票
2 回答
1937 浏览

java - ui:repeat 中 DataTable 中的 selectBooleanCheckbox

我在 ui:repeat 的多个 DataTables 中使用多个 selectBooleanCheckBox 时遇到了一些问题。

像这样的东西

在 backing bean 中,在选定的地图中,我发现了错误的 id。

另一个奇怪的行为是,当我使用 sortBy 属性对列进行排序时,它会对所有呈现的列进行排序。

我在jira上找到了错误

RichFaces JIRA

如果我使用

标记而不是

稍微好一点(表之间没有排序,支持 bean 中有更多值),但有时它仍然是错误的。

有任何想法吗?

谢谢,

0 投票
1 回答
1298 浏览

jsf - 接缝视图别名

我正在为 JSF 实现运行一个带有 Richfaces 的 Seam Web 应用程序。我想将视图映射到特定的 URL,就像在 Url Map 中使用 Spring MVC 一样。

这是我的 /WEB-INF/pages.xml 的片段

所以,从这里可以看出,我的索引页面实际上位于 /content/index.xhtml。我遇到的问题是 Seam/JSF 出于某种奇怪的原因不喜欢这里的重定向。当我刚刚删除扩展时,我的这个工作正常,但是将它放入另一个目录似乎已经破坏了一些东西。对于那些好奇的人,我得到的例外是:

java.lang.NullPointerException:FacesContext 在 org.ajax4jsf.context.AjaxContext.getCurrentInstance(AjaxContext.java:144) 的 org.ajax4jsf.component 的 org.ajax4jsf.context.AjaxContext.getCurrentInstance(AjaxContext.java:159) 为空。 AjaxViewRoot.getViewId(AjaxViewRoot.java:580) 在 org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:203) 在 com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108) 在 com.sun .faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245 ) 在 org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:第1148章.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at com.walterjwhite.webContent.servlet.filter.FirstVisitFilter.doFilter(FirstVisitFilter.java:55) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter .java:69)在 org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 com.walterjwhite。 seamCore.servlet.filter.security.SecurityFilter.doFilter(SecurityFilter.java:82) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 org.jboss.seam.web.IdentityFilter。 doFilter(IdentityFilter.java:40) 在 org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 在 org.jboss.seam.servlet 的 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) .SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter(AuthenticationFailureEventFilter.java:77) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter (SeamFilter.java:69) 在 com.walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter(IpAddressFilter.java:70) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69 ) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 org.jboss.seam 的 org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)。servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510) at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) 在 org.jboss.seam.servlet.SeamFilter $FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69 ) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) 在 org.mortbay.jetty.servlet 的 org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)。 ServletHandler.handle(ServletHandler.java:378) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) 在 org.mortbay.jetty.handler.ContextHandler .handle(ContextHandler.java:765) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) 在 org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:334) 在 org. mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) 在 com.walterjwhite.webContent.servlet.filter.FirstVisitFilter.doFilter(FirstVisitFilter.java:49) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl。 doFilter(SeamFilter.java:69) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at com .walterjwhite.seamCore.servlet。filter.security.SecurityFilter.doFilter(SecurityFilter.java:82) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter. java:40) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) 在 org.jboss.seam .servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter(AuthenticationFailureEventFilter.java:77) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl .doFilter(SeamFilter.java:69) 在 com.walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter(IpAddressFilter.java:70) 在 org.jboss.seam.servlet。SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java: 69) 在 org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 在 org.ajax4jsf.webapp.BaseFilter.handleRequest 的 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) (BaseFilter.java:290) 在 org.jboss.seam.web 的 org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495) 的 org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)。 Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)在组织。jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl。 doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org .mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler .java:181) 在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) 在 org.mortbay.jetty。 servlet.Dispatcher。forward(Dispatcher.java:334) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at com.walterjwhite.seamCore.servlet.filter.security.SecurityFilter.doFilter(SecurityFilter.java:62)在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) 在 org.jboss.seam.servlet.SeamFilter $FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69 ) 在 com.walterjwhite.seamCore.servlet.filter.security.AuthenticationFailureEventFilter.doFilter(AuthenticationFailureEventFilter.java:77) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 com。walterjwhite.seamCore.servlet.filter.security.IpAddressFilter.doFilter(IpAddressFilter.java:70) 在 org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 在 org.jboss.seam.web。 ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42 ) 在 org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37) 在 org.jboss.seam.servlet.SeamFilter$ 的 org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53) FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:73) at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)在 org.jboss.seam。servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter. java:69) 在 org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) 在 org.mortbay.jetty 的 org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) .servlet.ServletHandler.handle(ServletHandler.java:378) 在 org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 在 org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181 ) 在 org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 在 org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) 在 org.mortbay.jetty.handler.ContextHandlerCollection。org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 的句柄(ContextHandlerCollection.java:230) org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 的 org.mortbay .jetty.Server.handle(Server.java:324) 在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) 在 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 在 org.mortbay.jetty.Server.handle(Server.java: 324) 在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) 在 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser .java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 在 org.mortbay.io.nio.SelectChannelEndPoint。在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) 运行(SelectChannelEndPoint.java:409)mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 在 org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 在 org.mortbay.jetty.Server.handle(Server.java: 324) 在 org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) 在 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser .java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 在 org.mortbay.io.nio.SelectChannelEndPoint。在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) 运行(SelectChannelEndPoint.java:409)handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) at org.mortbay .jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 在org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.爪哇:520)handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) at org.mortbay .jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 在org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.爪哇:520)535)在 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser .java:212) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 在 org.mortbay.thread.QueuedThreadPool$ PoolThread.run(QueuedThreadPool.java:520)535)在 org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) 在 org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) 在 org.mortbay.jetty.HttpParser.parseAvailable(HttpParser .java:212) 在 org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 在 org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 在 org.mortbay.thread.QueuedThreadPool$ PoolThread.run(QueuedThreadPool.java:520)409) 在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)409) 在 org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)

我错过了一些非常小的东西,这可能吗?

我只是想将我的内容保存在一个单独的目录中,这样当某些东西不起作用时,我的打包战争更容易拆卸和诊断。

谢谢,

沃尔特

0 投票
1 回答
3543 浏览

hibernate - Seam Richfaces 表单验证

我的表单验证效果很好,但消息使用 JSF 组件名称而不是字段标签。例如,我有一个字段主题,当它为空时我收到的错误消息类似于:

UIComponent:contactBean.firstName 不能为空。

我的表格:

我的编辑模板:

验证就像我想要的那样工作,错误消息是可配置的(至少是它使用的标签右侧的值),并且验证器很容易配置,因为它们很简单,就是 ContactBean 类的字段上的注释。

我只是想把它打磨掉并在那里显示正确的值,例如:

名字不能为空。

最后一部分是ajax,onblur,实际上并没有做任何事情。这是一个小问题,我也想在某个时候解决。

ContactBean.java

谢谢,

沃尔特

0 投票
2 回答
422 浏览

java - 哪个接缝上下文用于带有过滤器的概览页面(状态)

我有一个概述页面,其中包含一个列表,其中包含一些可以启动多个工作流的链接(接缝对话)。

概览页面还有一些过滤器可用于搜索列表。因此,我想在服务器端保留状态(用于过滤器)。

目前,此概览页面使用 Seam.CONVERSATION 类型的上下文来实现此目的。但是每次我开始其中一个工作流程时,我都必须制定一个解决方法来开始一个新的对话(使用相同的对话是不可能的)。

  • 有没有使用接缝框架解决这个问题的模式?
  • 我应该使用 PAGE 范围并将所有过滤器参数与 url 的老式风格一起传递吗?

谢谢!

0 投票
4 回答
27612 浏览

jboss - 如何在调用 a4j 链接后重新渲染 RichFaces 组件

希望有人可以帮助我解决在 a4j 链接/按钮执行操作后重新渲染 RichFaces 组件时遇到的一个小障碍。我的问题的简化版本如下:

我有 2 个输出组件显示一个文本值,这些值是根据我的管理器类中的某个值呈现的:

我还有 2 个 a4j 链接,它们调用一些操作,然后重新渲染上述 outputText 组件:

我期望发生的是,当我单击“设置打开”按钮时,“打开”输出文本组件将取消隐藏,而“关闭输出文本”组件将显示。但是,这不会发生。

有没有人知道为什么会这样,以及在 a4j 组件操作完成后我如何重新渲染这些组件?

0 投票
4 回答
4893 浏览

java - 在 Java Web 应用程序和库中包含版本信息的最佳实践?

我正在开发一个使用 Seam 实现多个 Java Web 应用程序(和相关的 JAR 文件)的项目。

关于在部署中包含版本信息的最佳实践是什么?我需要了解的是 Web 应用程序应该如何包含和发布它们的版本,以及如何对 JAR 文件执行相同的操作。

谢谢

0 投票
5 回答
2095 浏览

java - Java Seamframework - Restful URLs - 如何?

我正计划开始一个网络项目,并且一直在寻找最佳选择。最终我选择坚持使用 Java + Seam + J Boss AS + JPA Hibernate。

但是关于 URL 重写它是一个非常漫长的过程,没有很多成就。

我将有一个层次结构,例如。类别 -> 子类别 -> 子子类别。

基本上我希望这些映射像 foo.com/category/sub-category/sub-sub-category

  • 什么可以帮助我实现这一目标?
  • 其他的可能性是什么?
  • URL 重写有多灵活?
  • 我可以将非分层数据附加到我的网址中吗?例如... .../类别/子类别/类型/子子类别

我关于灵活性的问题主要是因为 RESTFUL 应该是核心。因此,如果 URL 重写不是那么灵活,我将不得不仔细考虑我的设计。

问候。

0 投票
2 回答
1085 浏览

java - How can I block HTTP session timeouts in my Seam applications?

We have a rather restrictive architecture where we have a portal-like Seam application which launches further 'child' Seam applications inside an iFrame.

We have a problem where the portal application's HTTP session times out even though the 'child' applications are still being used. We need to keep the HTTP session timeouts to keep the site secure. We've been chewing at this problem for a while now and found ourselves down a number of dead ends.

So the questions is how can we block HTTP session timeouts in our portal application based on activity in 'child' applications?

0 投票
2 回答
1699 浏览

jsf - 如何更改rich:column 的未排序图标?

有没有办法更改rich:column 的默认未排序图标?

我知道您可以添加 sortIcon="/images/myPic.png",但我不想为每一列添加它。

我尝试在我的 CSS 文件中添加一个属性选择器来“隐藏”图像:

这适用于 Firefox,但 IE 不支持它。

有任何想法吗?提前致谢。