JSF是什么。作用是啥

jsf是一种web框架,其实我也没有用过,这是我很久之前在网上看到的一种框架,当时大致简单的了解一下

jsf常用来和struts对比,struts是一种mvc框架,jsf是一种事件驱动的框架。

在struts中,实际是一个表单Form对应一个Action类(或DispatchAction),换一句话说:在Struts中实际是一个表单只能对应一个事件,struts这种事件方式称为application event,application event和component event相比是一种粗粒度的事件。

struts重要的表单对象ActionForm是一种对象,它代表了一种应用,这个对象中至少包含几个字段,这些字段是Jsp页面表单中的input字段,因为一个表单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就是说,一个字段对应一个事件时,单纯使用Struts就不太可能,当然通过结合JavaScript也是可以转弯实现的。

JSF就可以如下实现:

<h:inputText id="userId" value="#{login.userId}">
  <f:valueChangeListener type="logindemo.UserLoginChanged" />
h:inputText>
commandButton id="login" commandName="login">
  type=”logindemo.LoginActionListener” />
commandButton>

JSF依赖jsf核心包,jstl及apache常用的commons类,其web-xml的配置如下:

<web-app>
  <servlet>
    <servlet-name>Faces Servletservlet-name>
    <servlet-class>javax.faces.webapp.FacesServletservlet-class>
    <load-on-startup>1load-on-startup>
  servlet>
  <servlet-mapping>
    <servlet-name>Faces Servletservlet-name>
    <url-pattern>*.facesurl-pattern>
  servlet-mapping> 
web-app>

 其config文件也和struts类似:

<faces-config>
  <navigation-rule>
    <from-view-id>/index.jspfrom-view-id>
    <navigation-case>
      <from-outcome>loginfrom-outcome>
      <to-view-id>/welcome.jspto-view-id>
    navigation-case>
  navigation-rule>
  <managed-bean> 
    <managed-bean-name>usermanaged-bean-name>
    <managed-bean-class>com.corejsf.UserBeanmanaged-bean-class> 
    <managed-bean-scope>sessionmanaged-bean-scope> 
  managed-bean>
faces-config>

参考文档:

http://www.jdon.com/idea/jsf-struts.htm

总结一下,jsf我一点也没用过,是在网上看到了,就看了些相关的资料,目前web框架很多,认真学习一个即可

你可能感兴趣的:(jsp)