今天碰到一个奇怪的问题:
JSP画面提交时,入力框上的值无法提交到绑定的后台bean上,但是同样的代码在别处就没有问题。
经过一个一个控件排查,发现原来是selectOneMenu 下拉框的valueChangeListener事件导致的
原因是 在画面初期化时,取到的下拉框的值 不在 下拉框的选项里,所以画面显示时,默认选择第一条。
由于这时下拉框的选择值和绑定的值不一样,在画面提交时,先触发了valueChangeListener事件,
而valueChangeListener事件 默认是不提交画面的,所以画面上入力的值没有反映到后台bean里。
参考:
action 无参数,不传入当前控件,有返回值
当铵钮被单击时产生事件.提交表单
返回页面---根据配置文件跳转
actionListener 传入当前控件,无返回值
当铵钮被单击时产生事件.提交表单
返回本页面
ValueChangeListener 传入当前控件,无返回值
不提交表单
返回本页面
action()处理的是业务逻辑.实际上JSF会自动产生一个"预设的ActionListener"来处理事件,
并根据其返回值决定页面跳转.第五阶段:调用应用执行
主要处理一些业务逻辑并返回几个业务逻辑结果(String类型),
JSF的导航系统将会根据这个来选择恰当的下一个页面. 会提交表单.
actionListener(ActionEvent e)处理页面上组件的"监听事件".第五阶段:调用应用执行
不会影响到导航.主要操作当前页面内的组件,或者是进行一些业务模型上的改变,
或者是修改backing bean(托管Bean)的属性等,并不会出现在页面间的跳转。会提交表单.
valueChangeListener(ValueChangeEvent event)处理页面上组件值变化的"监听事件",
"第三阶段:验证请求值"执行
actionListener(事件监听器)是用于解决只影响用户界面的事件
特别地,在beans的form数据被加载和触发验证前被调用
用immediate=“true”指明这个行为不触发验证
在监听器调用后,会重新显示表单
不应用导航规则,不重定向页面
action
隶属于按钮、超链接和图形映射控件
自动提交对应表单
valueChangeListener
隶属于单选框、组合框、列表框、复选框、文本框等控件
需要用onclick=“submit()”或onchange=“submit()”的方式提交表单
分享到:
相关推荐
在JavaServer Faces (JSF)框架中,`action`, `actionListener`, 和 `valueChangeListener` 是三个重要的事件处理机制,它们各自在不同的场景下发挥着作用。下面将详细解释这三个概念的区别以及它们在JSF中的应用。 ...
JSF作为Java EE的一部分,常常用于企业级应用开发,但处理中文字符时可能会遇到编码不兼容、乱码等问题,这通常是由于字符编码设置不正确导致的。 1. **字符编码问题**:JSF应用中出现中文乱码通常与字符集有关。...
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF
JSF(JavaServer Faces)是Java平台上用于构建用户界面的Web框架,尤其在处理表单和数据交互方面表现强大。本项目聚焦于JSF的文件上传功能,特别是针对大文件的上传,允许用户上传最大可达1.99GB的文件。在实际应用...
JSF是一种用于构建Java Web 应用程序的标准框架(是Java Community Process 规定的JSR-127标准)。JSF(Java Server Faces)技术为开发基于网络用户界面的Java开发者提供了标准的编程接口API以及标签库。就像Struts框架...
然而,它也有一些挑战,比如性能问题和学习曲线较陡峭。 **中文教程** 对于非英语背景的学习者来说非常有帮助,它能帮助理解和掌握JSF的概念、组件、事件处理和最佳实践。《JSF中文教程》可能是这方面的资源,它...
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它为开发人员提供了一种模型-视图-控制器(MVC)架构,简化了前端和后端之间的交互。JSF提供了组件库,使得创建动态、交互式的...
当数据集过大,一次性加载所有记录到页面上会导致性能下降且用户界面响应变慢。通过分页,我们可以将数据分成多个部分,每次只加载一部分到页面上,使用户能够逐步浏览数据。下面我们将深入探讨JSF中的分页实现。 ...
《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF学习书《JSF_实战》非常好的JSF...
JavaServer Faces(JSF)是Java平台上的一种用于构建Web应用程序的MVC(Model-View-Controller)框架。它提供了一种声明式的方式来构建用户界面,简化了开发过程,并且与Java EE平台无缝集成。本系列资料包括《JSF...
JavaServer Faces (JSF) 是一个用于构建用户界面的Java Web框架,它简化了创建和维护Web应用程序的复杂性。JSF的核心理念是提供一种组件化的编程模型,将UI元素与业务逻辑分离,使得开发者可以专注于应用的逻辑部分...
JSF(JavaServer Faces)是Java平台上的一种用于构建用户界面的MVC(Model-View-Controller)框架。...对于Tomcat环境下的项目,确保该库的正确配置和存在至关重要,否则可能会导致应用程序运行出错。
**JSF(JavaServer Faces)** 是一种Java平台上的Web应用程序开发框架,它提供了一种组件化和事件驱动的方式来创建用户界面。JSF的核心概念包括组件、事件、渲染器和生命周期,这些元素共同构建了一个强大的MVC...
总的来说,`jsf-api.jar` 是JSF框架的核心组成部分,它提供的API使得开发者能够方便地创建用户界面,管理数据模型,处理用户事件,并且对于中文环境提供了良好的支持,避免了本地化问题。在进行JSF开发时,确保这个...
**JSF(JavaServer Faces)** 是一个Java平台上的用户界面框架,用于构建Web应用程序。它提供了一种组件化和事件驱动的方式来创建交互式的Web界面。JSF API 和 JSF Impl 是JSF框架的核心组成部分。 **jsf-api.jar**...
**JSF 文件下载实现** 在JavaServer Faces (JSF)框架中,实现文件下载功能是一项常见的需求。在本文中,我们将深入探讨如何使用JSF来实现在Web应用程序中下载文件的功能。主要涉及的关键知识点包括: 1. **JSF上...
JavaScript Faces (JSF) 是Java平台上的一种用于构建用户界面的模型-视图-控制器(MVC)框架,它简化了Web应用程序的开发。本资源包包含了JSF从入门到进阶的多个方面,包括基础教程、核心组件库(LIB)、Ajax4JSF的使用...
标签“jsf”直接指向JSF技术,意味着文档内容可能涉及JSF的使用、教程、最佳实践或者是解决JSF开发中遇到的问题。由于提供的文件内容主要是邮件头信息和HTML格式的元数据,它们并不直接包含JSF的具体知识点。但是,...
**JSF 1.2核心详解** JavaServer Faces (JSF) 是Java平台上的一个用于构建用户界面的组件模型框架,特别适用于Web应用程序的开发。JSF 1.2是该框架的一个重要版本,它在JSF 1.1的基础上进行了一系列的改进和增强,...
1. **客户端问题**:早期版本中,很多逻辑实现在客户端,导致新版本推出时存在版本兼容问题。 2. **注册中心局限性**:使用Zookeeper作为注册中心,在功能定制和扩展方面受到限制。 3. **服务治理不足**:缺乏有效的...