最近一直都在研究jsf 以前一直对ajax anction actionListener 里的东西不是很清楚 对jsf里的流程都不是很清楚 经过一段时间的学习 现在把自己的学习的心得写出来
首先就是
action的使用规律
我使用action一般都是用来进行页面的导航可以通过一个result进行导航 具体这个导航的我认为应该是类似于forward的工作模式 就是说request范围的参数也是可以传递的
现在就举一个例子
首先是一个login.xhtml的代码
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Login Face</title>
<script src="js/login.js" type="text/javascript"></script>
</h:head>
<h:body>
<h:form id="loginForm" onsubmit="return checkForm()">
<h:outputScript library="javax.faces" name="jsf.js" target="head"/>
<h:outputLabel value="welcom to Login our site" ></h:outputLabel>
<br/><h:outputLabel value="#{user.message}"></h:outputLabel>
<br/><h:outputLabel value="userName:"></h:outputLabel>
<h:inputText id="userName" value="#{user.userName}" ></h:inputText>
<br/><h:outputLabel value="password:" ></h:outputLabel>
<h:inputSecret id="password" value="#{user.password}"></h:inputSecret>
<br/><h:commandButton value="submit" action="#{manager.login}" />
<a href="register.jsf">register</a>
<a href="forget.jsf">forget</a>
</h:form>
</h:body>
</html>
从这个代码中可以看出的是我的业务的逻辑主要是#{manager.login} 所以我先设置的user这个managerBean 是一个request的bean 但是 manager是session的bean
我规定的是加入登录成功的话就转到successfully.jsf的页面 如果输入的用户名不存在的话就在当前页面进行显示 如果密码错误的话就显示密码错误
manager.login的代码如下
public String login(){
String result = null;
DBibatis db = new DBIbatisImpl();//这是一个数据库操作的接口
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
//获得的是request里的数据
UserBean loginUser =(UserBean)context.getRequestMap().get("user");
//从数据库中获得这个用户名的结果
UserBean dbUser = db.queryByName(loginUser.getUserName());
if(dbUser == null){
//没有这个用户名就在request中增加message的内容
loginUser.setMessage("no this userName here!");
result = "login.jsf";//规定导航的jsf
}else {
if(dbUser.getPassword().equals(loginUser.getPassword())){
result = "successfully.jsf";//显示的是成功之后的页面
this.userName = loginUser.getUserName();//在这个sessionScope的manager 我设置了一个用户名的标识userName
}else{
//这个原理和第一个是相同的 所以说不再讲解了
loginUser.setMessage("the password is wrong!");
result = "login.jsf";
}
}
return result;//返回这个导航的结果
}
successfully.jsf中的代码是
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:outputLabel value="Welcome you ! "></h:outputLabel>
<h:outputText value="#{manager.userName}"></h:outputText>
</h:body>
</html>
我认为有的是直接result 可以将后缀名去掉 我觉得这样是不是让代码变得没有层次感所以这就是我的写的风格 个人喜好 不说也罢
分享到:
相关推荐
2. **JSF in Action中文版(Sample).pdf** - 这可能是书的第一部分或样章,包括JSF的基本概念、安装配置、生命周期、页面导航、组件库(如PrimeFaces或Mojarra)的使用,以及如何创建基本的JSF应用程序等内容。...
《JSF in Action》这本书深入介绍了JSF的核心概念和技术,是学习JSF的宝贵资源。 **1. JSF架构与组件模型** JSF的核心是一个组件模型,它允许开发者使用预定义的UI组件(如按钮、表单、文本框等)构建页面。这些...
《JSF in Action》这本书是JSF技术的详细指南,旨在帮助读者深入理解和应用JSF框架。 在书中,你可以了解到以下关键知识点: 1. **JSF基本概念**:JSF的核心组件,如UIComponent、FacesContext和Lifecycle,以及...
**JSF in Action** 和 **jsf宝典** 可能是关于JSF技术的详细教程或参考书籍,旨在帮助开发者深入理解JSF的工作原理和最佳实践。这类资源通常会涵盖JSF的核心概念、组件、生命周期、事件处理、表单验证、国际化、错误...
在《JSF IN ACTION》这本书中,读者可以深入理解JSF的工作原理及其在实际项目中的应用。 **JSF组件库** 包括一系列预定义的UI组件,如按钮、文本框、表格等,这些组件可以组合成复杂的用户界面。开发者可以通过定制...
**JSF IN ACTION 源代码详解** "JSF IN ACTION 源代码" 是一本深入探讨JavaServer Faces(JSF)技术的书籍的配套源码。这本书籍旨在帮助开发者全面理解JSF框架,通过实践代码来提升技能。源代码的提供意味着读者...
"JSF in Action"是该领域的一本知名书籍,属于“in Action”系列,这个系列以其深入浅出、实战性强的特点深受开发者喜爱。这本书英文版的大小为12.48M,包含丰富的JSF实践知识。 JSF的核心理念是将UI组件与业务逻辑...
### JSF in Action 中文版 关键知识点解析 #### 一、JSF 技术概述 **JavaServer Faces (JSF)** 是一种用于构建企业级 Java Web 应用程序的标准框架,它简化了用户界面的开发过程。JSF 通过提供一套丰富的组件库以及...
《详细用法jsf in action》一书由Kito D. Mann撰写,是JavaServer Faces(简称JSF)技术深入学习的重要参考资料。本书通过全面、细致的讲解,旨在帮助读者掌握JSF的核心概念与实际应用,使学习者能够熟练运用JSF进行...
jsf in action 电子书jsf in action 电子书jsf in action 电子书jsf in action 电子书
在JavaServer Faces (JSF)框架中,`action`, `actionListener`, 和 `valueChangeListener` 是三个重要的事件处理机制,它们各自在不同的场景下发挥着作用。下面将详细解释这三个概念的区别以及它们在JSF中的应用。 ...
《JSF in Action》是JavaServer Faces技术的一本经典实战书籍,涵盖了从基础到高级的全方位内容。书中源代码的前六章包含了JSF的基本概念、组件使用、生命周期、事件处理、表单验证以及与后端数据库交互等多个关键...
JSF IN ACTION 随书源码 part1 JSF_IN_ACTION_CODE part1
### JSF实战:JavaServer Faces in Action Online Extension #### 核心知识点概览: 1. **JavaServer Faces (JSF) 简介** - JSF 是一个用于构建基于 Java 的 Web 应用程序的标准组件框架。 - 它为开发人员提供了...
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF
JSF IN ACTION 随书源码 part2
《JavaServer Faces (JSF) in Action》是Manning出版社发布的一本专业书籍,专注于讲解如何使用JavaServer Faces技术来构建高效、可维护的Web应用程序。JSF是一种Java平台上的UI框架,它简化了创建用户界面的过程,...
在《JSF In Action》这本书中,你可能会学习到以下关键知识点: 1. **JSF架构**:理解JSF的基本工作原理,包括生命周期、事件处理和渲染过程。JSF生命周期分为六阶段,包括恢复视图、应用请求值、处理验证、更新...