转换器一般是要将页面提交的字符串转换成对象(object)
public Object getAsObject(FacesContext context, UIComponent component,
String value) {
int index = value.indexOf(':');
return new ToolBarItem(value.substring(0, index), value.substring(index + 1));
}
而页面显示的对象却是另一个对象,虽然他们的数据是相同的,但hascode却不同,这样转换后的对象是没法更新以前的对象的,特别是list中的,会报无效的表达式错误。但我们给ToolBarItem对象实现hashCode,equals方法后,相同的内容通过转换器转换出来的就是同一对象了,这样就可以更新了。
public ToolBar() {
ToolBarItem item = new ToolBarItem();
item.setIcon("create_folder");
item.setLabel("Create Folder");
items.add(item);
item = new ToolBarItem();
item.setIcon("create_doc");
item.setLabel("Create Doc");
items.add(item);
item = new ToolBarItem();
item.setIcon("find");
item.setLabel("Find");
items.add(item);
public class ToolBarItem {
private String icon;
private String label;
private String iconURI;
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((icon == null) ? 0 : icon.hashCode());
result = prime * result + ((label == null) ? 0 : label.hashCode());
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final ToolBarItem other = (ToolBarItem) obj;
if (icon == null) {
if (other.icon != null)
return false;
} else if (!icon.equals(other.icon))
return false;
if (label == null) {
if (other.label != null)
return false;
} else if (!label.equals(other.label))
return false;
return true;
}
分享到:
相关推荐
在JSF中,转换器和验证器是两个关键组件,它们确保了从用户输入到后台模型数据的准确无误的转换和验证。 转换器(Converter)在JSF中扮演着重要的角色,它们负责将用户界面显示的数据格式转化为模型所需的格式,...
转换器在JSF中的作用是处理从用户输入到应用程序数据类型的转换过程。在JSF中,每个UI组件都可以关联一个转换器,这样可以处理各种复杂的用户输入,如日期、货币等格式的数据。转换器通过实现`javax.faces.convert....
在JSF中,转换器和验证器扮演着至关重要的角色,它们允许我们对用户输入进行处理和验证,确保数据的质量和一致性。本实例将带你深入理解如何在JSF中创建自定义的转换器和验证器。 首先,我们来了解**转换器...
在JSF中,转换器(Converter)和验证器(Validator)是两个重要的组成部分,它们在处理用户输入数据时起着至关重要的作用。 **转换器(Converter)**: 1. 转换器的主要职责是将用户界面组件的值(通常为字符串)...
在JavaServer Faces (JSF)框架中,监听器和转换器是两个重要的组件,它们用于增强用户界面与后台数据处理的交互。在这个项目中,我们深入探讨了如何在JSF中有效地利用这两种机制。 首先,我们要理解JSF监听器的作用...
在JSF中,转换和验证是两个关键概念,它们有助于保证从客户端(通常是网页表单)接收到的数据在被存储或处理前符合预期的格式和规则。 **一、JSF 转换** 在JSF中,转换是用来将用户输入的数据转换为应用程序可以...
转换器类需要覆盖`getAsString()`和`getAsObject()`方法,分别处理从组件值到字符串和从字符串到对象的转换。 2. 全局转换器:通过在faces-config.xml配置文件中注册转换器,可以将其应用于整个应用或特定的组件...
五、验证与转换:为了确保数据的准确性和安全性,JSF内置了验证和转换功能。当用户提交表单时,JSF会自动执行验证规则,检查数据是否符合预期格式。同时,它还提供了转换机制,用于将用户输入的数据转换为应用程序所...
此外,还会讲解EL(Expression Language)和 Managed Beans,这两个是JSF中用于数据绑定和业务逻辑处理的关键技术。 《JSF Web应用实战开发》则深入到实际开发中,提供了许多实战案例,让读者了解如何在实际项目中...
一些可能包含自定义组件、约束、转换器或者监听器的对象 为在页面中表现自定义对象的一组自定义tag 包含JSP页面的JSF应用程序也使用由为了表现UI组件和在页面上的其他对象的JSF技术而定义的标准的tag库。 ...
3. ** faces-config.xml** - 这是JSF应用的核心配置文件,用于定义导航规则、组件、转换器和验证器等。 4. ** Managed Beans** - JSF 中的主要业务对象,用于存储和管理应用程序的业务逻辑和状态。 5. **EL...
在数据处理方面,JSF内置了标准转换器和验证器,这些转换器和验证器能够自动处理数据类型转换和输入验证,开发者也可以实现自定义转换器和验证器来满足特定的业务需求。JSF还包含了一套错误信息处理机制,能够在用户...
JSF API 和 JSF Impl 是JSF框架的核心组成部分。 **jsf-api.jar** 文件包含JSF框架的接口和抽象类,这些定义了JSF应用开发所需的主要API。开发者通常需要这个库来编译他们的JSF项目,因为编译时需要知道JSF提供的...
JSF 提供了一种强大的机制来处理表单验证,包括内置的验证器和自定义验证器。这篇博客文章“jsf验证器与自定义验证”深入探讨了这些概念,并可能提供了实现细节和示例代码。 首先,JSF 内置的验证器是预定义的,...
类型转换器的使用场景广泛,不仅限于Struts1框架,还可以应用到Spring MVC、Java EE的JSF等其他框架中。在实际开发中,一个良好的类型转换器设计可以提高代码的可维护性和灵活性,减少因类型不匹配导致的运行时异常...
除了自定义转换器和验证器之外,还可以定义自定义标签来增强JSF的功能。这些标签可以更容易地在多个地方重用。 #### 四、事件处理 **4.1 动作事件** 动作事件是用户与UI组件交互时触发的事件,例如按钮点击。这些...
学习这部分,你需要了解如何导入和使用JSF的库,例如`javax.faces.*`和`org.primefaces.*`,以及它们提供的功能,如数据验证、转换器、事件处理等。 4. **Ajax4JSF使用手册**:Ajax4JSF是JSF的一个扩展,它为JSF...