⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsf.txt

📁 Java大部分的基础知识,EJB3,EJB2,WEBSERVICE,SOAP,JMS,MQ,还有些面试题
💻 TXT
字号:
一、jsf,是基于mvc的一个web框架
	1、核心类:
		FacesServlet:接收所有的请求。
		FacesContext:封装数据
	2、核心配置文件
		faces-config.xml
		<manager-bean>
			<manager-bean-name>bean的名称</manager-bean-name>
			<manager-bean-class>bean类</manager-bean-class>
			<manager-bean-scope>bean的生命周期</manager-bean-scope>
		</manager-bean>
		<navigation-rule>
			<from-view-id>/login.jsp</from-view-id>
			<navigation-case>
				<from-outcome>success</from-outcome>
				<to-view-id>/success.jsp</to-view-id>
			</navigation-case>
			<navigation-case>
				<from-outcome>error</from-outcome>
				<to-view-id>/error.jsp</to-view-id>
			</navigation-case>
		</navigation-rule>
	3、jsf与struts的比较
		struts是一个粗粒度的处理,一个表单只有一个动作。
		jsf是一个细粒度的处理,支持事件,支持提交,一个表单
			可以有多个动作。
	3、jsf的六大生命周期
		1、恢复视图:将html请求转化组件树
		2、应用请求值:将html请求中的值写入到组件中
		3、校验:校验是否符合要求,如值的范围等。
		4、更新模型:可以更新后台javaBean的值
		5、调用应用程序:调用后台javaBean的值
		6、呈现响应:将组件树转化为html返回给客户端。
一、jsf中的五大组件
	ui组件
		h:inputText
		h:outputText
		h:form
		<h:dataTable value="#{oper.all}" var="user">
			<h:column>
				<f:facet name="header">
					<h:outputText value="姓名"/>

				</f:facet>
				<h:outputText value="#{user.userName}"/>
			</h:column>
		</h:dataTable>
		<h:selectOneMenu property="#{oper.user.sex}">
			<f:selectItems property="#{oper.sexes}"/>
		</h:selectOneMenu>
		<h:selectOneRadio property="#{oper.user.sex}">
			<f:selectItems property="#{oper.sexes}"/>
		</h:selectOneRadio>
		<h:commandButton action="#{oper.login}" actionListener="#{oper.textClick}"
			value=""/>
		<h:commandLink action="#{oper.register}" actionListener="#{oper.textClick}"
			value="注册"/>
		<h:commandButton>
			<f:actionListener type="jsf.MyActionListener"/>
		</h:commandButton>
		<h:inputText>
			<f:valueChangeListener type="jsf.MyValueChangeListener"/>
		</h:inputText>
	监听及事件处理
		1、在公开的bean中写方法,参
		   数必须是ActionEvent或ValueChangeEvent,通
		   过inputText的valueChangeListener属性说明事件,
		   通过commandButton的actionListener属性说明单击事件。
		2、写一个ActionListener接口实现类或
		   ValueChangeListener接口实现类
		   通过
		   <f:actionListener type="jsf.MyAction"/> 
		   <f:valueChangeListener type="jsf.MyValueListener"/>
	显示
		解码:将html请求转化为组件树
		转码:将组件树转化为html标记
	转换:
		将字符串转化为bean对应的数据类型
		<f:convertDateTime pattern="yyyy-MM-dd"/>
	校验:
		<f:validateLongRange/>
		<f:validateDoubleRange/>
		<f:validateLength/>
二、jsf中标签 
	h:
	f:
		<f:selectItems>
		<f:view>
		<f:validateLongRange>
		<f:validateDoubleRange>
		<f:validateLength>
		<f:facet name="header"/>
		<f:converDateTime/>
		<f:actionListener/>
		<f:valueChangeListener/>
		<f:loadBound values="message" var="msg"/>
		<h:outputText value="#{msg.userName}">
一、jsf的核心配置文件
	facaes-config.xml:说明受管理的bean,说明页面导航
		受管理的bean
			<bean-manager>
				<bean-manager-name>oper</bean-manager-name>
				<bean-manager-class>bean.OperBean</bean-manager-class>
				<bean-manager-scope>request/session/application</bean-manager-scope>
			</bean-manager>
		说明页面导航
			<navigation-rule>
				<from-view-id>/login.jsp</from-view-id>
				<navigation-case>
					<from-outcome>success</from-outcome>
					<to-view-id>/success.jsp</to-view-id>
				</navigation-case>
				<navigation-case>
					<from-outcome>error</from-outcome>
					<to-view-id>/error.jsp</to-view-id>
				</navigation-case>
			</navigation-rule>
			<navigation-rule>
				<navigation-case>
					<from-outcome>success</from-outcome>
					<to-view-id>/success.jsp</to-view-id>
				</navigation-case>
				<navigation-case>
					<from-outcome>error</from-outcome>
					<to-view-id>/error.jsp</to-view-id>
				</navigation-case>
			</navigation-rule>
二、jsf的核心类及作用
	FacesServlet:接收所有的请求,在web.xml部署说明
	FacesContext:封装所有请求信息、reqeust、response、session、application
三、jsf的六大生命周期
	恢复视图:将html请求转化为组件树
	应用请求值:将页面的值写入到组件中
	校验:是否符合要求
	更新模型:更新后台的javaBean
	调用应用程序:调用后台的java类
	呈现响应:将html页面返回给客户端。
四、jsf中的标签
	html标签:
		<h:inputText value="#{oper.user.userName}">
		<h:outputText value="#{oper.user.sex}">
		<h:selectOneMenu value="#{oper.user.sex}">
			<f:selectItems value="#{oper.sexes}"/>
		</h:selectOneMenu>
		
		<h:selectOneRadio value="#{oper.user.sex}">
			<f:selectItems value="#{oper.sexes}"/>
		</h:selectOneRadio>
		
		<h:selectManyMenu value="#{oper.user.sex}">
			<f:selectItems value="#{oper.sexes}"/>
		</h:selectManyMenu>
		
		<h:selectManyCheckBox value="#{oper.user.sex}">
			<f:selectItems value="#{oper.sexes}"/>
		</h:selectManyCheckBox>
		<h:form></h:form>
		--表格
		<h:dataTable values="#{oper.all}" var="user">
			<h:column>
				<f:facet name="header">
					<h:outputText value="姓名"/> 
				</f:facet>
				<h:outputText value="#{user.userName}"/>
			</h:column>
		</h:dataTable>
	核心标签:
		<f:view>
		<f:facet>
		<f:selectItems>
jsf的五大组件:
	1、ui组件
		h:inputText
		h:outputText		
	2、事件监听器
		第一种实现,写Listener类,在标签中说明具体的listener
			写Listener类
			public class MyActionListener	implements ActionListener
			{
			
				public void processAction(ActionEvent arg0) throws AbortProcessingException
				{
					System.out.println("我是按钮或超链的单击事件");
				}
			}
			注册事件
				//主要针对提是按钮及超链
				<h:commandButton/commandLink>
					<f:actionListener  type="oper.MyActionListener"/>
				</h:commandButton/commandLink>
				//主要针对的是文本(输入框、密码域)
				<h:inputText>
					<f:valueChanageLister type="oper.MyValueChangeListener"/>
				</h:inputText>
		第二种实现
			在bean说明事件方法,参数必须是ActionEvent或ValueChangeEvent
			1、方法实现
				public void testValueChange(ValueChangeEvent vcl)
				{
					System.out.println("值改变了");
				}
				public void testClick(ActionEvent al)
				{
					System.out.println("被提交了");
				}
			2、通过标签属性事件
				valueChangeListener="#{oper.testValueChange}"
				actionListener="#{oper.testClick}"
	3、校验
		<f:validateLength/>
		<f:validateLongRange/>
	4、显示:
		解码:将html请求转化为组件树
		编码:将组件树转化为html请求,转发给客户端。
	5、转换:
		将表单域的值转化为bean中说明的数据类型。
		<f:converDateTime pattern="yyyy-MM-dd"/>
jsf的导航的两种方式
	1、静态导航:直接给一个字符串常数
		<h:commandAction action="success">
	2、动态导航:根据方法执行的结果导航到不同的页面
		<h:commandAction action="#{oper.login}">
					org.springframework.web.context.ContextLoaderListener
				</listener-class>
			</listener>
一、jsf的核心类
	FacesServlet:接收所有的请求信息
	FacasContext:封装表单及request、application、session的所有数据。
二、jsf的核心配置文件:管理bean及页面导航
	faces-config.xml
	<manager-bean>
		<manager-bean-name>user</manager-bean-name>
		<manager-bean-class>ejb.entity.Users</manager-bean-class>
		<manager-bean-scope>request</manager-bean-scope>
	</manager-bean>
	<navigation-rule>
		<from-view-id>/login.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-coutcome>
			<to-view-id>/success.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>success</from-coutcome>
			<to-view-id>/success.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>success</from-coutcome>
			<to-view-id>/success.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>success</from-coutcome>
			<to-view-id>/success.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
三、jsf的六大生命周期
	恢复视图:将html请求转化为组树
	应用请求值:将客户的请求信息写入到服务端组件中
	校验:是否符合校验规则
	更新模型:更新后台bean的值
	调用应用程序:调用后台bean的方法
	呈现响应:将组件转化为html提交给ie。
四、jsf的标签
	html标签
		<h:form>
		<h:inputText value="#{oper.user.userName}"/>
		<h:inputSecret value="#{oper.user.userName}"/>
		<h:commandButton action="#{oper.login}" value="登陆"/>
		
		--显示表格,取所有的数据
			1、定义一个get方法返回是一个DataModel
				public DataModel getAll()
				{
					List<users> users=facade.getAll();
					DataModel dm=new ListDataModel();
					dm.setList(users);
					return dm;
				}
			2、通过表格取数据
				<h:datatable value="#{oper.all}" var="user">
					<h:column>
						<f:facet name="header">
							<h:outputText value="姓名"/>
						</f:facet>
						<h:outputText value="#{user.userName}"/>
					</h:column>
				</h:datatable>
		--显示单选按钮
			<f:selectOneRadio value="sex">
				<f:selectItems values="sexes"/>
			</f:selectOneRadio>
		--显示下列列表
			<f:selectOneMenu value="#{oper.sex}">
				<f:selectItems values="#{oper.sexes}"/>
			</f:selectOneMenu>
			
			sexes中是oper的一个属性,其类型为List,每一个数据项是SelectItem的实例。
		--日志转化
			1、数据类的类型是java.util.Date
			2、通过
				<h:inputText value="#{oper.user.birthday}">
					<f:covertDateTime pattern="yyyy-MM-dd"/>			
				</h:inputText>
	核心标签:
		<f:view/>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -