JavaServer Faces(JSF)是一种模型 - 视图 - 展示器框架,通常用于创建基于HTML表单的Web应用程序。使用标准组件和渲染工具包,可以使用Facelets或JSP标记定义有状态HTML视图,并通过支持bean连接到模型数据和应用程序逻辑。
如何在应用程序中使用新的@ClientWindowScoped注解?
Jakarta Faces 4.0 引入了新的 @ClientWindowScoped 注释。然而,在搜索规范和实现时,我没有找到任何其在应用程序中实际使用的示例。 也许...
FACELETS_REFRESH_PERIOD 的默认值是多少?
在 JSF 应用程序中,参数 javax.faces.FACELETS_REFRESH_PERIOD 可用于启用/禁用 XHTML 文件的自动重新加载。 我目前正在研究
如何将 Messages.properties 链接到 facesContext.getApplication().getMessageBundle()?
由于某种原因,以下代码不起作用,我不明白为什么。 @PostConstruct 私有无效初始化() { facesContext = FacesContext.getCurrentInstance(); 语言环境 = facesContext。
我希望用户向 JSF 的 inputText 组件输入一个或多个名称。 所以我正在考虑这样的托管 bean: 公共类 MyBean { 私有 String[] 名称; 公共字符串[]
如何在 p:inputTextarea PrimeFaces 中停用拼写检查?
我想停用 PrimeFaces 输入文本区域中的拼写检查。 在 p:inputTextarea 中不可能拼写检查=“假” 我想停用 PrimeFaces 中的拼写检查 inputTextarea。 spellcheck="false" 在 p:inputTextarea 中是不可能的 <p:inputTextarea value="#{mybean.cardescription}" cols="95" autoResize="true" rows="20"/> 使用以下内容: <h:head> <h:outputScript name="/js/util/disableSpellCheck.js"/> </h:head> $('inputTextId').attr('spellcheck','false') 虽然我参加聚会已经很晚了,但我认为有一种更干净的方法可以不用 Javascript 来完成它。当您包含命名空间 xmlns:pt="http://xmlns.jcp.org/jsf/passthrough" 时,您将属性传递给生成的 HTML,因此您可以直接在 JSF 代码中设置该属性: <p:inputTextarea value="#{mybean.cardescription}" cols="95" pt:spellcheck="false" autoResize="true" rows="20"/> 这适用于其组件中没有相应 JSF 属性的所有 HTML 属性。 此处选择 pt 是为了避免与 PrimeFaces 发生命名空间冲突。您还经常会发现 p 表示直通属性。
如何在 p:inputTextarea Prime Faces 中停用拼写检查?
我想停用 Prime Faces 输入文本区域中的拼写检查。 在 p:inputTextarea 中不可能拼写检查=“假” 我想停用 Prime Faces 中的拼写检查 inputTextarea。 spellcheck="false" 在 p:inputTextarea 中是不可能的 <p:inputTextarea value="#{mybean.cardescription}" cols="95" autoResize="true" rows="20"/> 使用以下内容: <h:head> <h:outputScript name="/js/util/disableSpellCheck.js"/> </h:head> $('inputTextId').attr('spellcheck','false') 虽然我参加聚会已经很晚了,但我认为有一种更干净的方法可以不用 Javascript 来完成它。当您包含命名空间 xmlns:pt="http://xmlns.jcp.org/jsf/passthrough" 时,您将属性传递给生成的 HTML,因此您可以直接在 JSF 代码中设置该属性: <p:inputTextarea value="#{mybean.cardescription}" cols="95" pt:spellcheck="false" autoResize="true" rows="20"/> 这适用于其组件中没有相应 JSF 属性的所有 HTML 属性。 此处选择 pt 是为了避免与 PrimeFaces 发生命名空间冲突。您还经常会发现 p 表示直通属性。
在我的 JSF 应用程序中,我尝试使用 Web 套接字将更新从后端推送到前端。后端在我正在收听的 ActiveMQ 主题上发布消息(在 @ApplicationScoped 级别...
我需要您的帮助来在对话框中显示错误消息。单击命令按钮后,对话框中不会显示任何消息。 尽管我尝试在对话框中显示该消息,但什么都没有......
我们的 Web 应用程序是用 JSF 开发的,允许用户在日历中安排会议。 目标是在应用程序设置中,每个用户都可以集成他们的 Google 帐户,以便
需要一些帮助来选择页面加载时的 PrimeFaces p:dataTable 第一行,这是到目前为止我的代码: 需要一些帮助选择 PrimeFaces p:dataTable 页面加载时的第一行,这是到目前为止我的代码: <p:dataTable id="dtbList" value="#{Controller.items}" var="item" widgetVar="dataTableList" lazy="true" selection="#{Controller.selectedValue}" rowKey="#{item.key}" scrollable="true" scrollHeight="133"> <p:ajax event="rowSelectRadio" listener="#{Controller.handleSelectList}" update="dtbList" oncomplete="resetScroll();"/> ... ... ... </p:dataTable> 我尝试使用ajax事件没有成功 <p:ajax event="page" onsuccess="PF('dataTableList').selectRow(0);"/> 想知道我哪里做错了。 如果您知道第一行的 rowKey(id),请尝试在 dataTable 组件中添加属性 dynamic="true",如下所示: <p:dataTable id="dtbList" value="#{Controller.items}" var="item" widgetVar="dataTableList" lazy="true" selection="#{Controller.selectedValue}" rowKey="#{item.key}" scrollable="true" scrollHeight="133" dynamic="true"> ... ... ... </p:dataTable> 并且,在你的bean(控制器)中创建一个由@PostConstruct注释的方法,这样你就可以选择最好的元素。 像这样: @PostConstruct public void init() { this.selectedValue = new SelectedValueEntityType(); this.selectedValue.setKey('yourKey'); } page 事件是在分页时触发的,因此不会在初始加载时触发。 您可能希望使控制器成为您已实现的 LazyDataModel 的属性(假设您这样做了;如果您正在使用 JpaLazyDataModel,请扩展它)。现在您可以通过 load 方法访问控制器。现在,您可以简单地检查是否未进行选择,并将在 load 方法中获取的第一个项目设置为控制器的选定项目。 另请参阅:https://primefaces.github.io/primefaces/12_0_0/#/components/datatable 我之前也遇到过同样的问题。 首先,您需要以编程方式构建 datatable 组件。 例如,backbean 将类似于以下内容 public class Controller { private DataTable dataTable; private CustomLazyDataModel customLazyDataModel; @PostConstruct public void init() { ExpressionFactory exFactory = FacesContext.getCurrentInstance().getApplication().getExpressionFactory(); ELContext elContext = FacesContext.getCurrentInstance().getApplication().getELContext(); dataTable = new DataTable(); dataTable.setId("dtbList"); dataTable.setValueExpression("value", exFactory.createValueExpression(elContext,"#{Controller.customLazyDataModel}", CustomLazyDataModel.class)); // This for selecting first row. dataTable.setSelection(new YourPOJOClass[]{customLazyDataModel.getDatasource().get(0)}); } } 这是您的自定义惰性数据模型的示例 @Getter @Setter public class CustomLazyDataModel extends LazyDataModel<YourPOJOClass> { // the loaded data source private List<YourPOJOClass> datasource; @Getter(AccessLevel.NONE) @Setter(AccessLevel.NONE) private boolean buildScreenPhase = false; // use this initialization function to create an instance of lazy // data model public static CustomLazyDataModel forBuildScreen() { CustomLazyDataModel customLazyDataModel = new CustomLazyDataModel(); // pass needed data instead of null customLazyDataModel.load(0, 7, null, null, null); customLazyDataModel.buildScreenPhase = true; return customLazyDataModel; } @Override public List<RowModel> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) { // Your loading logic here from db or something else // to enhance loading data performance we will use // buildScreenPhase flag if (!buildScreenPhase) { // load data } else { buildScreenPhase = false; } } }
使用 JSF 组件的 class 属性代替 styleClass 确实有效,为什么?
据我了解,我们需要使用 styleClass=,因为 JSF 组件不支持仅使用 class=。 我最近注意到一些使用 class= 的组件仍在渲染
我有一个 p:autoComplete 组件,我想在其中显示基于所选项目的链接。为此,我在 p:autoComplete 的值发生更改时更新组件。其中一部分是有一个 p:ajax
JSF UISelectItems HtmlSelectOneListbox 绑定值 TimeZones
(注意:我对 jakarta.faces.component.UISelectItem 进行了子类化并重写了 toString,但现在下面的代码实际上是相同的,尽管我将来会删除对象搜索和 s...
我用于输入地址字段。默认情况下设置 active-index="-1",以便在加载页面时面板将关闭。用户输入详细信息后,我想要面板区域wh。 ..
我想我尝试了在其他答案中找到的所有内容。 我正在使用 liferay 和 spring-boot 微服务。我正在通过从微服务调用端点来拍摄图像,并尝试使用 l...
如何将带有 ResultSetDataModel 的 h:dataTable 项目传递给操作方法?
我有一个代码,当我尝试访问(通过 JSF 数据表,使用命令按钮)时,它给出以下错误: 我收到的错误是: javax.el.MethodNotFoundException:/page.xhtml @...
我目前正在学习 JSF,使用 JavaEE,所以我将不胜感激任何可能的帮助。我有一段代码,当我尝试访问(通过 JSF 数据表,使用命令按钮)时,它给了我
PrimeFaces ajax 不会将参数值传递给支持 bean
我正在研究拖放功能。我需要将 中的列内容移动到另一列,但不同的行。 (这有效)问题是,我需要传递值......
PrimeFaces:将选定的值传递给自动编译方法(请求范围)
我有一个目前不容易实现的要求。应根据 SelectOneMenu 选择在此处预先选择自动完成功能。为此,我需要之前的选择...