问题标签 [backing-beans]

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 投票
0 回答
623 浏览

html - JSF 2.0 - 将 html 嵌入 XHTML 页面

我需要开发一个被多个用户组使用的页面。要求是每个用户组在访问页面时都需要定制的外观和感觉(使用区分参数)。用户想要将他们需要的 html 转储到数据库表中,页面(facelet 或 jsp)将确定用户组并显示相应的 html。关于如何做到这一点的任何指示?

示例:如果用户组 1 访问 url abc.com/xyz?param=aaa,则页面应显示存储在与 UserGroup1 对应的数据库中的 html。同样,abc.com/xyz?param=bbb 应该呈现为 UserGroup2 存储的 html。

第 1 组的 html:

你好,第 2 组的用户 1 html:

你好,用户 2 我的 JSP 如何从 Servlet 或任何其他类中获取此 html 代码?

有任何 JSF 2.0 建议吗?如何编写一个支持 bean 来吐出(或绑定或创建)我在 facelet 页面的方法中的 html?

上面的示例代码可能听起来很简单,但实际上整个布局、图像、边框、表格、内容会完全不同。

我在 JSP 上也问过关于 jsp 替代方案的类似问题 - 如何从数据库中呈现 html(或 jsp)代码

0 投票
0 回答
302 浏览

jsf - jsf 1.2 UI 组件标签支持bean

我正在使用 JSF 1.2,我想使用ui:component标签创建一个自定义组件。我需要在我的应用程序的很多地方使用这个组件,所以我希望这个组件是高度可重用的。

问题是,对于这个自定义组件的每次使用,我都需要一个支持 bean 来存储我的信息并充当某些事件的动作侦听器。我在我的应用程序中的大约 15 个地方使用了这个组件,而且我还在一个页面中不止一次地使用了这个组件。

我不想创建自定义 JSF 组件(带有 UIComponent、渲染器等),而且我不知道如何管理支持数据。

有什么方法可以指定一个类,并且自定义组件在我每次使用它时都会创建一个类的实例?

编辑: 是否可以扩展现有的 JSF 组件?(我使用 Richfaces 实现)

欢迎任何帮助或想法。

0 投票
2 回答
12580 浏览

javascript - 如何使用 javascript 获取 jsf h:outputText 值?

我有一个按钮具有可以设置 myBackingBean.myString 的操作,并且 onclick 事件调用 js 方法来提醒该值。我只想通过使用 javascript 从支持 bean 获取 myString 的值。

我有一个隐藏的输出,它具有来自支持 bean 的价值:

然后我需要在由按钮触发的 javascript fxn 中提醒这个值:

但我得到了Object required错误。我怎样才能解决这个问题?提前致谢。

0 投票
2 回答
1928 浏览

spring - 导航到另一个页面时,@Viewscoped bean 不会被破坏

@Viewscoped在 JSF 2.1 项目中使用 bean。奇怪的是,当我第一次获得一个页面时,bean 显然已使用所有初始参数进行了初始化。但是当我导航到另一个页面时,即使我关闭了打开 te 应用程序的浏览器选项卡,bean 也不会死。当我返回使用该 bean 的页面时,值与在使用该页面期间修改的值相同。而且,如果我打开另一个浏览器,如 IE 或 Chrome,这些值仍然存在!!表现得像一个会话范围。或者某种永生豆,je。

bean 是这样注释的。

为什么会这样?springframework注释可能是问题的原因吗?

0 投票
1 回答
6382 浏览

jsf - JPA 实体作为 JSF Bean?

将实体用作 JSF 支持 Bean 是否有意义?

还是将它们分开保存并在最后将数据从支持 bean 传输到实体更好?

0 投票
1 回答
6755 浏览

jsf - 未调用 JSF 支持 Bean 方法

当我单击触发 editUser(User) 方法的命令按钮或触发支持 bean 中的 editClient(User) 方法的命令按钮时,不再调用这些方法。它以前工作过,但现在什么都没有被调用。页面被重新加载。

这里有什么问题???

这是我的看法:

这是我的支持bean:

}

0 投票
1 回答
172 浏览

jsf - 从 WPS 7.0 中的主题导航菜单重置 JSF 支持 bean

我有一个 JSF Portlet,它在视图 JSP 中有用户表单。要求是每当我单击主题导航菜单时,都需要向用户显示一个新表单。但问题是每当我点击菜单时,这些值都会被保留。请建议如何在单击主题导航时删除/重新初始化支持 bean。

谢谢,拉吉

0 投票
1 回答
1311 浏览

jsf - JSF:c:设置按钮点击?

c:set当按下某个按钮并发生重定向时,是否可以“执行”/“渲染”各种标签?

我不想以代码方式设置支持 bean 的属性,因为我用静态数据填充它们。由于我在这里不是在谈论一个按钮而是在谈论多个按钮,因此以代码方式执行此操作会产生大量样板代码。这就是我想使用c:set.

0 投票
2 回答
1202 浏览

java - 如何通过 servlet 从 Applet 提交序列化对象到支持 bean,然后打开结果 JSF 页面

我是一名应用程序程序员,正在开发我的第一个 JSF 2.0 网站,我承认我对 JSF 的了解并不多。几个月来我一直在研究文件,特别是感谢这些论坛,我还没有坚持到这一点。大部分网站已经完成并且可以正常工作,这里使用的支持 bean 在其他地方使用也没有问题。

我有一个序列化的搜索条件对象,需要通过 servlet 从小程序提交到支持 bean。支持 bean 方法然后处理搜索条件数据并将其应用于产品列表,保存在数据库中,然后在新的 JSF 页面中显示排名产品列表。

使用正确数据打开结果页面的所有尝试均失败。导航案例 "return "process_MainSearchResult";" 没有在支持 bean 中做任何事情(进一步参见支持 bean 代码和 faces-config 条目)。我尝试使用 appletContext.showDocument(见下文)从小程序打开结果页面,但新页面没有搜索条件对象传递到的支持 bean,因此没有正确的数据。

注意在小程序的setRequestMethod上设置POST是没有效果的;它总是使用服务。如果 setDoInput 和 setDoOutput 未设置为 true,并且从 servlet 向 applet 发送响应,则不会发送提交的对象,并且不会发生任何事情。我怀疑这是我问题的核心,但以任何方式更改它都会阻止序列化对象成功提交。

就目前而言,对象已成功发送到支持 bean,但新页面不会加载正确的数据(使用 applet 中的 showDocument 而不是 servlet 中的重定向)。有没有办法在新网页上设置原始支持 bean,还是我做错了?

Web 服务器是 Glassfish 3.x,IDE 是 Netbeans 7.0.1,系统是 WinXP。支持 bean 类是“ProductSelection”;servlet 类是“CriteriaServlet”。

小程序“提交搜索条件”按钮代码:

我尝试使用 redirect(url) 在 servlet 中重定向但没有成功:

给出以下错误,因为我怀疑当前响应已经提交:

警告:StandardWrapperValve [CriteriaServlet]:PWC1406:Servlet CriteriaServlet 的 Servlet.service() 在 com.sun.faces 的 org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:522) 处抛出异常 java.lang.IllegalStateException。 context.ExternalContextImpl.redirect(ExternalContextImpl.java:572) 在 searchselection.CriteriaServlet.service(CriteriaServlet.java:217) 在 org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) 在 org.apache.catalina .core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641 ) 在 com.sun 的 com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)。Enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java: 325) 在 com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) 在 com.sun.grizzly 的 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) .http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) 在 com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) 在 com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954 ) 在 com.sun.grizzly.DefaultProtocolChain 的 com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)。executeProtocolFilter(DefaultProtocolChain.java:135) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 在 com.sun.grizzly.http .HttpProtocolChain.execute(HttpProtocolChain.java:76) 在 com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 在 com.sun。 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool. java:309) 在 java.lang.Thread.run(Thread.java:619)在 com.sun.grizzly 执行(DefaultProtocolChain.java:102)在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 在 com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) 在 com.sun.grizzly .ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 在 com.sun.grizzly.ContextTask.run(ContextTask.java:69) 在 com.sun。 grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java: 619)在 com.sun.grizzly 执行(DefaultProtocolChain.java:102)在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 在 com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) 在 com.sun.grizzly .ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 在 com.sun.grizzly.ContextTask.run(ContextTask.java:69) 在 com.sun。 grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java: 619)76) 在 com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 在 com.sun.grizzly.ContextTask.run(ContextTask.java :69) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 在 java.lang 的 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)。线程运行(线程.java:619)76) 在 com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 在 com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 在 com.sun.grizzly.ContextTask.run(ContextTask.java :69) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 在 java.lang 的 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)。线程运行(线程.java:619)在 java.lang.Thread.run(Thread.java:619) 处运行(AbstractThreadPool.java:309)在 java.lang.Thread.run(Thread.java:619) 处运行(AbstractThreadPool.java:309)

返回“process_MainSearchResult”;在 backing bean 中不起作用:

Faces-config.xml 条目:

我也在支持 bean 中尝试过这个来强制重定向:

还有这个在backing bean中:

调用此方法:

都给出与上面给出的 servlet 示例相同的 java.lang.IllegalStateException 错误。重定向的文档说明了这一点:

0 投票
1 回答
2057 浏览

jsf - JSF 中的支持 bean 组织

我一直在考虑这个问题,但还没有提出如何在 JSF 项目中为表示层组织我的 bean/类的最佳实践。显然有很多因素在起作用,但我想讨论一下。以下是我目前的思路:

考虑一个包含视图页面(查看数据)和编辑页面(添加、更新、删除数据)的基本 JSF(不幸的是,仍然停留在 JSF 1.xx 上)。这是我组织项目的方式:

请求范围内的 BackingBean:

  • 查看相关内容(保存状态、渲染逻辑等)。仅在一个请求中需要的东西
  • 动作、动作侦听器和值更改侦听器。如果它们适用于多个视图,则可以将它们分离到自己的文件中。

会话范围的 BackingBean:

  • 任何需要保留比一个请求更长的东西。数据库数据、SelectItems 等。
  • 此 bean 被注入到请求 bean 中,并存储任何数据对象的实例

数据对象:

  • 把数据对象做成bean似乎没有意义,所以分开存放。这将是诸如用户、书籍、汽车之类的东西,您将在页面上显示的任何对象。该对象还可以包含视图辅助方法,例如 getFormattedName() 等。

道:

  • 处理与业务逻辑层的所有交互的非 bean 对象。它加载数据bean并准备提交等。我通常将其设为公共静态方法类。

转换器、验证器:

  • 单独的文件

这似乎是您的普通 JSF 应用程序所需的全部内容。我已经阅读了这个: http: //java.dzone.com/articles/making-distinctions-between,以及这里的回复:JSF backing bean structure (best practice),但我从来没有觉得我们有一个完整的画面。BalusC 的回复很有帮助,但似乎并没有完全涵盖完整的应用程序。让我知道你的想法!