有人问我用过jsf没?   当时没有用过,就看了一下:

写了一个小例子  JSF和struts2 差不多的,都有一些配置和跳转

struts2的action配置和JSF的faces-config.xml 流程配置一样的,

JSF有自己的标签库,struts2也有自己的标签库,

看一个例子

一个简单的bean

public class UserBean {

   private String name;

private String password;

    private String msg;

省略了get  set ....

为了让JSF知道设计流程 配置 定义一个/WEB-INF/faces-config.xml:

<?xml version="1.0"?>

<!DOCTYPE faces-config PUBLIC   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"   "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>    <navigation-rule>       <from-view-id>/index.jsp</from-view-id>       <navigation-case>          <from-outcome>login</from-outcome>          <to-view-id>/welcome.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>

<managed-bean>       <managed-bean-name>user</managed-bean-name>       <managed-bean-class>com.corejsf.UserBean</managed-bean-class>       <managed-bean-scope>session</managed-bean-scope>    </managed-bean>       <application>    <locale-config>  <default-locale>zh</default-locale>  <supported-locale>en_US</supported-locale>  <supported-locale>zh_CN</supported-locale>    </locale-config>    </application> </faces-config>

在<navigation-rule>中,我們定義了頁面流程,當請求來自<from-view- id>中指定的頁面,並且指定了<navigation-case>中的<from-outcome>為login時,則會將請求導向至<to-view-id>所指定的頁面。

  在<managed-bean>中我們可以統一管理我們的Bean,我們設定Bean物件的存活範圍是session,也就是使用者開啟瀏覽器與程式互動過程中都存活。

  接下來要告訴網頁設計人員的資訊是,他們可以使用的Bean名稱,即<managed-bean-name>中設定的名稱,以及上面所定義的頁面流程。

登陆页面 index.jsp

<html>    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

<f:view>       <head>                           <title>A Simple JavaServer Faces Application</title>       </head>       <body>          <h:form>             <h3>Please enter your name and password.</h3>             <table>                <tr>                   <td>Name:</td>                   <td>                      <h:inputText value="#{user.name}"/>                   </td>                </tr>                            <tr>                   <td>Password:</td>                   <td>                      <h:inputSecret value="#{user.password}"/>                   </td>                </tr>             </table>             <p>                <h:commandButton value="Login" action="#{user.verify}"/>             </p>          </h:form>       </body>    </f:view> </html>

jsf小例子的更多相关文章

  1. springmvc入门的第一个小例子

    今天我们探讨一下springmvc,由于是初学,所以简单的了解一下 springmvc的流程,后续会持续更新... 由一个小例子来简单的了解一下 springmvc springmvc是spring框 ...

  2. java即时通信小例子

    学习java一段时间了,今天写来一个即时通信的小例子练手在其过程中也学到了一些知识拿出来和大家分享,请路过的各位大神多多赐教... 好了下面讲一下基本的思路: 首先,编写服务器端的程序,简单点说吧就是 ...

  3. Runtime的几个小例子(含Demo)

    一.什么是runtime(也就是所谓的“运行时”,因为是在运行时实现的.)           1.runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数);  [runti ...

  4. bootstrap 模态 modal 小例子

    bootstrap 模态 modal  小例子 <html> <head> <meta charset="utf-8" /> <title ...

  5. INI配置文件分析小例子

    随手写个解析INI配置字符串的小例子 带测试 #include <iostream> #include <map> #include <string> #inclu ...

  6. JavaScript小例子:复选框全选

    JavaScript小例子:复选框全选 这只是一个小例子,很简单,但是这个功能还是很常用的: 实现后效果如图: JavaScript代码: <script type="text/jav ...

  7. 【zTree】 zTree使用的 小例子

    使用zTree树不是第一次了  但是 还是翻阅着之前做的 对照着 使用起来比较方便  这里就把小例子列出来   总结一下使用步骤 这样方便下次使用起来方便一点 使用zTree树的步骤: 1.首先  在 ...

  8. js小例子(标签页)

    运用js写的一个小例子,实现点击不同的标签出现不同的内容: <!DOCTYPE html> <html> <head> <meta chaset=" ...

  9. sbrk与brk的使用小例子

    sbrk() 和 brk() - Unix的系统函数   sbrk()和brk() 系统的底层会维护一个位置,通过位置的移动完成内存的分配和回收.映射内存时 以一个内存页作为基本单位.   void* ...

随机推荐

  1. 在magento中发邮件

    1. 在system->Configuration->Store Email Addresses中设置General Contact的Sender Name.Sender Email. S ...

  2. Java中Return和Finally运行顺序的实现

    以下这段代码的运行结果是如何的呢? [java] view plaincopyprint? publc int test(){ int x; try{ ; return x; }catch(Excep ...

  3. 高效搭建Spark全然分布式集群

    写在前面一: 本文具体总结Spark分布式集群的安装步骤,帮助想要学习Spark的技术爱好者高速搭建Spark的学习研究环境. 写在前面二: 使用软件说明 约定,Spark相关软件存放文件夹:/usr ...

  4. 批处理就是windows的杰作啊

    今天要为了解决vs不能同时开启调试和编写的问题,我就上网查找了一些批处理的命令,用批处理调用exe,和打开txt,虽然一行代码就解决了但是我没用过啊,很陌生. call  路径\a.exe  就相当于 ...

  5. JS原型,Prototype,原型

    对于javascript这样一种前端语言,个人觉得,要真正的理解其oop, 就必须要彻底搞清楚javascript的对象,原型链,作用域,闭包,以及this所引用的对象等概念.这些对弄明白了,应该就可 ...

  6. bootstrap注意事项(六)按钮

    1.预定义样式 使用下面列出的类可以快速创建一个带有预定义样式的按钮 <!DOCTYPE HTML><html><head> <link rel=" ...

  7. Nutch的发展历程

    Nutch的创始人是Doug Cutting,他同时也是Lucene.Hadoop和Avro开源项目的创始人 下面是Nutch的发展历程: 月由Doug Cutting发起,托管于Sourceforg ...

  8. Java 之HashMap.values()方法误用

    1.出错 今天在测试代码的时候发现程序报错,看代码才知道是使用HashMap.values()方法的时候出错.因为项目中需要获取Map的值的集合然后进行遍历,所以就很自然的调用了HashMap.val ...

  9. 众数问题(为什么只能输入一组数据,不能输入m组数据)

    描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数.例如:S={1,2,2,2,3,5},则多重集S的众数是2, ...

  10. JQuery表格展开与内容筛选

    单击分类的时候,可以关闭打开相对应的内容.例如点击前台设计组,则只显示前台设计组的内容.再次点击则收缩. 筛选的话就是匹配输入框的内容,如果某行数据存在,则显示出来. <html> < ...