Tag: primefaces

使用p:calendar在jsf h:datatable中进行交叉字段validation

我注意到这个问题被问到了,但是没有正确回答。 我有一个数据表,有两列开始日期和结束日期 。 两者都包含primefaces p:日历控件。 我需要确保对于每一行,column1中的日期不在column2中的日期之后。 我想把它绑定到JSFvalidation框架,但我遇到了麻烦。 我已经尝试将datatable标记为rowStatePreserved =“true”,这允许我获取值,但是仍然存在错误,因为当它失败时,第一行中的所有值都会覆盖所有其他值。 我做错了什么,或者我应该采用完全不同的策略? xhtml代码 Start End validation码 public void doCrossFieldValidation(ComponentSystemEvent cse) { UIData eventsDaysStable = (UIData) cse.getComponent().findComponent(“eventDaysTable”); if (null != eventsDaysStable && eventsDaysStable.isRendered()) { Iterator startDateCalendarIterator = eventsDaysStable.findComponent(“eventDayStartColumn”).getChildren().iterator(); Iterator endDateCalendarIterator = eventsDaysStable.findComponent(“eventDayEndColumn”).getChildren().iterator(); while (startDateCalendarIterator.hasNext() && endDateCalendarIterator.hasNext()) { org.primefaces.component.calendar.Calendar startDateComponent = (org.primefaces.component.calendar.Calendar) startDateCalendarIterator.next(); org.primefaces.component.calendar.Calendar endDateComponent = (org.primefaces.component.calendar.Calendar) endDateCalendarIterator.next(); Date […]

如何在浏览器上永久保存一些值?

我有一些登录信息,比如用户名,登录电子邮件ID和位置。 我希望即使在用户注销并关闭窗口后,也要在浏览器中保留此信息。 这样,当用户在注销或会话到期后返回时,Web应用程序将填充客户端用户名并向用户请求密码。 我要求的最好例子是谷歌登录。!! 目前我只使用会话而没有cookie。 有哪些可能的解决方案?

如何创建动态树?

我在使用primefaces树实现实现动态树结构时遇到了一些麻烦。 在primeface提供的展示中,代码的结构如下所示。 然而,这是非常静态的。 我试图弄清楚如何使用从数据库获取的数据来做到这一点,在数据库中,树的深度在编译时是未知的。 我认为我可能需要一些递归方法来实现它,但我不能完全理解实现的样子。 有什么想法吗? 下面是来自primefaces的示例代码 private TreeNode root; private TreeNode selectedNode; public TreeBean() { root = new DefaultTreeNode(“Root”, null); TreeNode node0 = new DefaultTreeNode(“Node 0”, root); TreeNode node1 = new DefaultTreeNode(“Node 1”, root); TreeNode node2 = new DefaultTreeNode(“Node 2”, root); TreeNode node00 = new DefaultTreeNode(“Node 0.0”, node0); TreeNode node01 = new DefaultTreeNode(“Node 0.1”, […]

删除或更新项目后数据表未刷新

我试图在primefaces上实现排序functiondataTable.Sorting正在运行。 但是当我删除时,更新dataTable项,dataTable没有效果(没有任何变化)。 这是dataTable没有被清除或刷新。但是在数据库删除,更新正在发生任何问题。当我注销并重新登录时,新列表(dataTable)没问题。 employeeView.jsf: EmployeeList.java: @Component(“employeeList”) @SessionScoped @Repository public class EmployeeList implements Serializable { private static final long serialVersionUID = -2417394435764260084L; public static HibernateTemplate hibernateTemplate; private List employees = new ArrayList(); @Autowired public void setSessionFactory(SessionFactory sessionFactory) { this.hibernateTemplate = new HibernateTemplate(sessionFactory); } public List getEmployees() { if(employees.isEmpty()){ employees.addAll(empList()); } return employees; } @SuppressWarnings(“unchecked”) public List […]

JSF p:p中的日历:dataTable:如何获取p:ajax dateSelect事件的行

在我的设置中,我有一个@Named Bean,类ObWithDate是一个带有日期字段validFrom的@Entity 。 该类的对象位于bean的List中。 如果用户更改日期,我想立即更新ObWithDate 。 p:dataTable因此显示了几个p:calendar组件: bean的代码: public void up(DateSelectEvent event) { logger.info(“DateSelectEvent “+event.getDate()); // How to get the corresponding ObWithDate? } 这是Primefaces的后续问题p:日历,p:ajax值未更新(一步延迟)但现在针对具体问题: 如何在beans方法中的ajax调用中获取相应的列表项?

转换器类抛出exceptionjava.lang.IllegalArgumentException

我在我的JSF页面中有p:selectOneMenu,当我运行我的JSF页面时,我从Converter类得到以下exception。 java.lang.IllegalArgumentException: object 5634 is of type java.lang.String; expected type: test.entity.Employee 我该如何解决这个问题? 我在Entity类中有以下内容 @Entity public class Employee implements Serializable { private String employeeNumber; private String employeeName; /* getters and setters */ EmployeeConverter类 @Component(“employeeConverter”) @FacesConverter(forClass = Employee.class) @Inject EmployeeService employeeService; @Override public Object getAsObject(FacesContext facesContext, UIComponent component, String value) { if (value == null || value.length() […]

p:commandButton action和f:setpropertyactionlistener未在p:columngroup中调用

我需要将子组件放在primefaces子表格页脚中(p:columngroup type =“footer”),但标准子表格渲染器不提供这样的机会。 所以我已经覆盖了org.primefaces.component.SubTableRenderer来添加子渲染: public class CustomSubTableRenderer extends SubTableRenderer{ @Override protected void encodeColumnFooter(FacesContext context, SubTable table, Column column) throws IOException { ResponseWriter writer = context.getResponseWriter(); String style = column.getStyle(); String styleClass = column.getStyleClass(); styleClass = styleClass == null ? DataTable.COLUMN_FOOTER_CLASS : DataTable.COLUMN_FOOTER_CLASS + ” ” + styleClass; writer.startElement(“td”, null); writer.writeAttribute(“class”, styleClass, null); if(column.getRowspan() != 1) […]

jsf页面中的空白页面

我有一个空白页面,当我尝试打开我的页面http:// localhost:8084 / Gpsi-working / admin.xhtml但是当我尝试这个http:// localhost:8084 / Gpsi-working / faces / admin.xhtml工作在哪里是问题,我在我的项目中使用模板。

Primefaces 3.5 + OmniFaces 1.3 SelectOneMenu的SelectItemsIndexConverter问题

我正在使用Primefaces 3.5 2012年12月5日SNAPSHOT,Mojarra 2.1.14和Tomcat 7.0.33。 对于POJO对象的单元格内编辑模式(不是行内),使用在ah:selectOneMenu中表示的模型/实体类,使用’click’作为celleditevent值,每当您单击一个对象然后单击通过单击其他对象,前一个对象显示其值而不是其标签。 这只是“装饰性”,当您重新加载页面时,它将显示标签值。

如何在JSF中为各种组件标准化convertnumber用法?

在我的项目中,我使用了大量的h:outputtext和f:convertnumber来将模式应用于我的数字数据。 在需要其他数据时复制和粘贴此模式似乎很容易。 但它也难以管理; 当使用更多时,更改模式似乎需要大量的搜索/替换操作。 如何使此模式在中央位置可重复使用和管理。