我正在从primefaces 3.4迁移到primfaces 4.我在primefaces 3.4中创建了菜单栏,没有问题。这是豆子:
public MenuBean() {
MenuItem menuItem = new MenuItem();
Submenu submenu = new Submenu();
submenu.setLabel("Nos Solutions");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
menuItem = new MenuItem();
menuItem.setValue("Clothes");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
simpleMenuModel.addSubmenu(submenu);
submenu = new Submenu();
submenu.setLabel("Nos Problemes");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
menuItem = new MenuItem();
menuItem.setValue("Clothes");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
simpleMenuModel.addSubmenu(submenu);
submenu = new Submenu();
submenu.setLabel("Nos Solutions");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
menuItem = new MenuItem();
menuItem.setValue("Clothes");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
simpleMenuModel.addSubmenu(submenu);
submenu = new Submenu();
submenu.setLabel("Nos Solutions");
menuItem.setValue("Computers");
menuItem.setUrl("#");
submenu.getChildren().add(menuItem);
Submenu submenu1 = new Submenu();
submenu1.setLabel("Offres");
menuItem …
Run Code Online (Sandbox Code Playgroud) 我有jsfunction
<a4j:jsFunction action="#{myBean.action}"
data="#{myBean.data}" render="@form" execute="@form" name="openConfirm"
onbeforedomupdate="openConfirmDialog(event.data);"></a4j:jsFunction>
Run Code Online (Sandbox Code Playgroud)
我需要打开一个确认对话框(在 onbeforedomupdate 上,这有效..但是打开所有调用的对话框)我真的需要只有在验证 jsf 提交时才打开对话框表单。验证错误显示表单未验证的时间。
在脚本中识别 JSF 循环是否返回验证错误的最佳方法是什么?
我需要类似于 onbeforedomupdate="if (event.validationError==false)showDialog();"
多谢,
我正面临列问题的重复 ID,p:treeTable
即与以下链接中描述的问题相同的问题
http://forum.primefaces.org/viewtopic.php?f=3&t=31158&p=99463#p99463
所以我想按照上述解决方案中的建议实施解决方案。所以我想改变源代码并重新编译和使用jar,但我没有得到这样做的许可。我被要求通过扩展org.primefaces.component.api.UITree
类或以某种方式自定义类而不更改 primefaces jar 中的实际类。
所以现在假设我已经创建了一个同名的类 UITree 并为我做了必要的更改。无论如何注册这个类,以便可以使用我的类而不是primefaces类
我需要FacesMessage
为这个组件显示一个,如下所示,
问题是它在 UI 上多次显示,如下所示,
其次,输入的日期40.06.2015
是无效的,因此FacesMessage
, 但它被转换为10.07.2015
. 我不知道如何防止这种情况。任何帮助都受到高度赞赏。我知道它可以setLenient()
在DateFormat
课堂上轻松处理,但不知何故,在我可以在后台使用之前,UI 组件将其转换为下个月的日期。
附加到该组件的验证器如下:
那么,如何避免多次显示“请以正确格式输入日期”?
我想到了使用h:message
而不是h:messages
, 并在验证器方法的 catch 块中像这样
FacesContext.getCurrentInstance().addMessage("formId:aboveCompId", message);
Run Code Online (Sandbox Code Playgroud)
但 UI 上没有显示任何内容。有什么建议?
我正在使用 jsf 2。我的代码的一部分是这样的:
<h:panelGrid id="jobDetail" columns="3" cellpadding="7">
<p:outputLabel value="#{msg['content.jobList.JobName']}" />
<p:inputText id="jobName" styleClass="BIC_search_textbox" value="#{timerConfigurationBean.selectedTimerConfigurationJob.jobName}" required="true" requiredMessage="#{msg['content.jobNew.requiredfield.errormsg']}"/>
<p:message for="jobName" styleClass="error"/>
</h:panelGrid>
<p:commandButton id="update" value="Update_Button" action="#{timerConfigurationBean.updateExportJob}" styleClass="bottomButtonsAfterFirst" update="jobDetail" oncomplete="PF('updatejobpopup').show()"/>
Run Code Online (Sandbox Code Playgroud)
这只是代码的一部分。发生的情况是,当我单击命令按钮“Update_Button”时,会发生以下两件事之一:
1)我在 inputText“jobName”中输入一个值,然后单击命令按钮。首先,action="#{timerConfigurationBean.updateExportJob}" 中的函数运行,然后 oncomplete="PF('updatejobpopup').show()" 运行。这就是它的初衷,所以没关系。
2)我没有在输入文本中输入任何内容(这是必填字段),然后单击命令按钮。我在 Inputtext 字段旁边的网页上看到一条错误消息(发生这种情况是因为我的 commandButton 中有 update="jobDetail")并且 action="#{timerConfigurationBean.updateExportJob}" 未运行,但 oncomplete="PF(' updatejobpopup').show()" 仍然运行。这是个问题。
我希望 oncomplete 仅在页面上没有错误时运行,就像 action="#{timerConfigurationBean.updateExportJob}" 中的函数一样。
有人可以帮忙吗?
我正在使用JSF 2.0开发Web应用程序,并且我开发了一个导航面板,用户必须使用该面板来浏览页面.小组讨好了.但与此同时我不希望用户使用浏览器的"后退","前进"进行导航.我的想法是,如果用户点击任何一个按钮,我将使会话无效并向他显示一个信息页面.不知道如何在JSF 2.0中实现这一点,JavaScript是一个选项,但我想知道JSF是否有任何API支持这个???
当我尝试在JSF页面中显示Java List<String>
国家时,我在JSF页面中遇到了非常奇怪的问题.这是代码:
private List<String> listCountries;
// Get the list with Countries
public List<String> getlistCountries() {
// Generate List of Countries
initlistCountries();
return listCountries;
}
public void initlistCountries(){
listCountries.add("Afghanistan");
listCountries.add("Albania");
listCountries.add("Algeria");
listCountries.add("Andorra");
listCountries.add("Angola");
......
}
Run Code Online (Sandbox Code Playgroud)
这段代码是否正确?我不能使用,@PostConstruct
因为我已经使用它了.
加载JSF页面时出现错误:
java.lang.NullPointerException
at com.DX_57.AC_57.AddAccount.initlistCountries(AddAccount.java:344)
at com.DX_57.AC_57.AddAccount.getlistCountries(AddAccount.java:339)
Run Code Online (Sandbox Code Playgroud) 我有一个JSF表:
正如您所看到的,列的名称是基本的html链接.有没有办法删除名称的下划线?还要改变名字的颜色?感谢您的帮助.
<div id="settingsHashMap" style="width:1050px; height:400px; position:absolute; background-color:r; top:20px; left:1px">
<h:form id="form" >
<p:growl id="growl" showDetail="true" sticky="true" />
<!-- The sortable data table -->
<h:dataTable onmouseover="addOnclickToDatatableRows();" id="dataTable" value="#{AccountsController.dataList}" binding="#{table}" var="item">
<!-- Check box -->
<h:column>
<f:facet name="header">
<h:selectBooleanCheckbox value="#{AccountsController.mainSelectAll}" class="checkall" >
<f:ajax listener="#{AccountsController.selectAll}" render="@form" />
</h:selectBooleanCheckbox>
</f:facet>
<h:selectBooleanCheckbox onclick="highlight(this)" value="#{AccountsController.selectedIds[item.userid]}" >
<!-- if the user deselects one row deselect the main checkbox -->
<f:ajax listener="#{AccountsController.deselectMain}" render="@form" />
</h:selectBooleanCheckbox>
<!-- Click on table code -->
<h:outputLink id="lnkHidden" value="AccountProfile.jsf" style="text-decoration:none; color:white;">
<f:param …
Run Code Online (Sandbox Code Playgroud) 我有这个图像:
<h:graphicImage library="images" name="lighton.png" height="22" rendered="#{mController.dothat}" />
Run Code Online (Sandbox Code Playgroud)
我需要垂直对齐一个字段.
手动添加(例如通过firebug)align ="absmiddle"到生成的<img/>
标签确实有效.然而,将它添加到graphicImage标记,什么都不做.
我有一个输入文本字段如下.
<h:inputText id="number" maxlength="3" value="#{bean.entity.number}" />
Run Code Online (Sandbox Code Playgroud)
我想验证数字是否为1到60,否则显示错误.我怎样才能做到这一点?
当我没有在 primefaces 数据表中使用过滤器并尝试选择行时,例如按编辑它运行良好并获取所选行。但是当我使用 primefaces 过滤器然后选择过滤后的行然后编辑时,我得到了 org.primefaces.model。 SelectableDataModel 启用选择时出现异常。
我知道这意味着我有一个空行键,但我不知道为什么。我使用有效的行键(id)数据表的主键,当我使用调试时,我发现它两次获得 id失败的情况,第一次得到正确的过滤id,第二次得到空id。我的问题是为什么它两次获取 rowkey id,第二次获取 null 并导致异常
<h:body>
<h:form prependId="false" id="growlForm">
<p:growl id="growl" showDetail="false" />
</h:form>
<h:form id="dataForm">
<p:panel id="ingerdientsTable">
<f:facet name="header">
<h:outputText value="Standard Food List" />
</f:facet>
<p:dataTable id="ingedientsTable" widgetVar="ingedientsTable" var="ingerdients" resizableColumns="true"
selectionMode="single" selection="#{mealBean.selectedStandardIngerdients}"
rowKey="#{ingerdients.getId()}" value="#{mealBean.allIngerdients}" rowsPerPageTemplate="5,10,25,50" rows="20"
paginator="true" style="padding-top:10px;padding-bottom:10px" tableStyle="table-layout: auto"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} ">
<p:column headerText="Food Type" filterBy="#{ingerdients.name}"><h:outputText value="#{ingerdients.name}" /></p:column>
<p:column headerText="Protein(gm)" filterBy="#{ingerdients.containedProtiens}"><h:outputText value="#{ingerdients.containedProtiens}" /></p:column>
<p:column headerText="Carbs(gm)" filterBy="#{ingerdients.containedCarbs}"><h:outputText value="#{ingerdients.containedCarbs}" /></p:column>
<p:column headerText="Fats(gm)" filterBy="#{ingerdients.containedFats}"><h:outputText value="#{ingerdients.containedFats}" /></p:column>
<p:column …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现本教程中的代码:
这是托管bean:
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
// or import javax.faces.bean.SessionScoped;
import javax.inject.Named;
/* include SQL Packages */
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import javax.annotation.Resource;
import javax.faces.bean.ViewScoped;
import javax.faces.component.UICommand;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
// or import javax.faces.bean.ManagedBean;
import javax.faces.event.ActionEvent;
import org.glassfish.osgicdi.OSGiService;
// source http://balusc.blogspot.com/2008/10/effective-datatable-paging-and-sorting.html
@Named("SessionsController")
@ViewScoped
public class Sessions implements Serializable {
/* Call the Oracle JDBC Connection driver */ …
Run Code Online (Sandbox Code Playgroud) jsf-2 ×12
jsf ×7
java ×4
javascript ×3
primefaces ×3
css ×1
datatable ×1
html ×1
jquery ×1
jsf-2.2 ×1
menubar ×1
range ×1
richfaces ×1
validation ×1