有人问我用过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. 04737_C++程序设计_第3章_函数和函数模板

    例3.1 传对象不会改变原来对象数据成员值的例子. #define _SCL_SECURE_NO_WARNINGS #include <iostream> #include <str ...

  2. hdu 5586 Sum(dp+技巧)

    Problem Description There )mod10007.After that,the sum of n numbers should be as much as possible.Wh ...

  3. 解密yii中CModule::_components和CModule::_componentConfig

    array CModule::_components 所有组件对象(CComponent的子类)将作为键值存在该数组中, 键名是定义该组件时使用的键名.例如: protected function r ...

  4. PHP自学3——在html的<table>标签中显示用户提交表单

    为了更好地显示用户提交表单,本节将在上一节的基础上将读取的用户表单显示在html的<table>标签中,这一节将用到和数组有关的知识. 本节代码将从外部文件(.txt文件)中读取信息于指定 ...

  5. 关于Oracle备份中的fractured block

    One danger in making online backups is the possibility of inconsistent data within a block. For exam ...

  6. LINUX下查看CPU使用率的命令[Z]

    1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或 ...

  7. 自定义配置文件的使用(web.config/app.config)

    以下非原创作品,但都是自己看过理解并写过,记录下来,以便之后项目的使用或其它用途. (1)只需要简单配置单一属性值: <configuration> <configSections& ...

  8. Attempted to lock an already-locked dir的解决方法

    第一,在当前目录使用“清理”功能,如果不行,到上一级目录,再执行“清理”. 第二,如果看到某个包里面的文件夹没有SVN的标志,直接用“Ctrl+Delete”手工删除,然后“清理”.

  9. 《javascript dom编程艺术》笔记(二)——美术馆示例

    这几天把这本书看完了,里面大部分知识我已经会了,所以看得就略简单,好多地方都没有再去动手去做,我知道这样是不对的,以后补吧. 现在我要做的是把这本书的笔记完结掉,不然总觉得有啥事没有做. 这个版本不是 ...

  10. 对于一些css样式的巧妙方法进行总结。

    针对之前遇到过的一些特殊样式的实现,我今天做个总结,目的有二:一是将这些方法记录下来,以便将来需要用到时查找使用.二为将这些大神们智慧的结晶发扬光大,让广大前端程序猿们能够少走弯路.此贴为更新帖,以后 ...