jsf 的导航演示(navigation)
注:jsf演示例子都在同一个workspace中完成的,所以你会看到一些与本演示例子无关的代码!
UserBean.java
package org.baicai.jsf_document.simple_navigation;
public class UserBean
{
private String name;
private String password;
private String errMessge;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getErrMessge()
{
return errMessge;
}
public void setErrMessge(String errMessge)
{
this.errMessge = errMessge;
}
/**
* 验证登录用户
* @return
*/
public String verify()
{
System.out.println("----调用UserBean的verify()-----");
if(!name.equals("admin")||!password.equals("admin"))
{
errMessge="名称或密码错误";
return "failure";
}else
{
return "success";
}
}
}
WebRoot/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!--第一步: 添加jsf的基本(html)标签标签库,和jsf的核心(cord)标签标签库 -->
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- f:view 相当于超文本标记语言的html,是必须要添加的。否则会出错 -->
<!-- Component javax.faces.component.UIViewRoot@92b535 not expected type.
Expected: javax.faces.component.UIForm. Perhaps you're missing a tag? -->
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Jsf Menu</title>
</head>
<body>
<!-- jsf的表单标签,当页面有h:commandLink,h:commandButton标签时该标签是必须要添加的标签 否则这些标签没有用 -->
<!--This link is disabled as it is not nested within a JSF form. -->
<h:form>
<!-- h:commandLink 链接标签,相当于html中的a元素 . action属性的值有两种形式 ,本形式会直接根据导航进到下一个页面,value属性的值为页面的显示值 -->
<h:commandLink action="simpleDemo" value="第一个jsf演示"></h:commandLink><br>
<h:commandLink action="simplenavigation" value="jsf导航演示"></h:commandLink><br>
</h:form>
</body>
</f:view>
</html>
WebRoot/simplenavigation/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>smplenavigation</title>
</head>
<body >
<h:form>
<h:outputText value="请输入用户名"></h:outputText>
<h:inputText value="#{navigationUser.name}"></h:inputText>
<h:outputText value="请输入用户名"></h:outputText>
<h:inputSecret value="#{navigationUser.password}"></h:inputSecret>
<!--commandButton提交标签 。action属性的值的另外一种形式 -->
<h:commandButton action="#{navigationUser.verify}" value="登录" ></h:commandButton>
<h:outputText value="#{navigationUser.errMessge}" style="color: red"></h:outputText>
</h:form>
</body>
</f:view>
</html>
WebRoot/simplenavigation/welcome.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<f:view>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>smplenavigation</title>
</head>
<body>
<h:form>
<h3>
<h:outputText value="欢迎#{navigationUser.name}登录!"/>
</h3>
</h:form>
</body>
</f:view>
</html>
WebRoot/WEB-INF/web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<!-- 指定加载多个faces-config.xml文件,文件之间用逗号分开。 默认会加载faces-config.xml文件, -->
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/WEB-INF/faces-config/faces-config.xml,
/WEB-INF/faces-config/simpledemo-faces-config.xml,
/WEB-INF/faces-config/simplenavigation-faces-config.xml
</param-value>
</context-param>
<!-- faces 的核心配置 -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
WebRoot/WEB-INF/faces-config/faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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>simpleDemo</from-outcome>
<!--触发事件后陈显结果的页面 -->
<to-view-id>/simpleDemo/index.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-action>simplenavigation</from-action>
<to-view-id>/simplenavigation/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
WebRoot/WEB-INF/faces-config/simplenavigation-faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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>/simplenavigation/index.jsp</from-view-id>
<!-- 根据页面上调用的managerBean中的方法得到返回字符串来判断结果页面 -->
<navigation-case>
<!-- 登录成功后 根据返回字符串success进入sg/welecom.jsp页面 -->
<from-outcome>success</from-outcome>
<to-view-id>/simplenavigation/welcome.jsp</to-view-id>
<!-- 重定向 浏览器主动要求新网页 地址栏 发生明显的变化-->
<redirect/>
</navigation-case>
<navigation-case>
<!--登录失败后的处理:根据返回字符串failure进入到sg/index.jsp页面 -->
<from-outcome>failure</from-outcome>
<to-view-id>/simplenavigation/index.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>navigationUser</managed-bean-name>
<managed-bean-class>org.baicai.jsf_document.simple_navigation.UserBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
jsf 的导航演示(navigation)相关推荐
- html调用百度地图语音播报,实现百度地图导航演示的语音播放功能
在上面,百度地图导航演示是本地导入的,那么如何在此基础上实现导航语音广播呢? 首先,为应用程序申请语音广播(也称为注册) SDK具有内置的百度TTS语音广播功能,在使用该应用程序之前,需要对应用程序进 ...
- Android Jetpack导航组件——Navigation的使用
概述 Navigation是采用一个Activity和多个Fragment形式设计的Ui架构模式,但是众所周知,Fragment的管理一直是个麻烦事,需要通过FragmentManager和Fragm ...
- Android导航组件Navigation从入门到精通
文章目录 一.前言 二.导航简介 2.1 导航组件的组成 2.2 导航的原则 2.2.1 固定的起始目的地 2.2.2 导航状态表现为目的地堆栈 2.2.3 在应用的任务中向上按钮和返回按钮行为相同 ...
- 云客Drupal源码分析之导航菜单Navigation menus
菜单系统概述: drupal8的菜单系统主要包含四大部分:导航菜单Navigation menus.本地任务Local tasks.本地动作Local actions.上下文链接Contextual ...
- JSF 中使用自定义Navigation
过去的一段时间,一直有人拿 JSF 的 Navigation 当靶子,批评 JSF,其实细心的人会发现,在 Java 世界,这样的批评常常是很片面的,几乎所有成熟的应用框架,在除了实现某些默认的功能外 ...
- iPhone App开发导航条(Navigation Bar)素材PSD下载
不管是iPhone还是Android的应用App界面基本上最上方都会有个导航条(Navigation Bar).于是我决定创建此页面整理收集所有好看的适合在iPhone App应用开发中使用的导航条素 ...
- android 导航栏navigation
navigation有3个重要的组成部分:导航图 .NavHost .NavController: 导航图即为xml文件 1.依赖: dependencies {def nav_version = ...
- 改变虚拟导航栏(navigation bar)背景色及图标颜色
众所周知,安卓系统中存在着虚拟导航栏,它们不是实体按键,而是通过软件实现的.一般而言,虚拟导航栏是长成下面这样的: 系统中默认的虚拟导航栏的背景色是黑色,按键的颜色是白色.但是如果软件需要自定义主题色 ...
- React Native项目配置路由和选项卡导航__React Navigation的使用
React Native 配置路由 在网上看了很多例子跟着写,发现都不行,发现之前的写法都已经弃用了,跟着官方一步步来吧. 参考官方文档:React Navigation 先创建好项目: npx re ...
最新文章
- 请与计算机管理员联系,电脑的限制被取消,请与管理员联系 解决方案
- linux中的fork函数详解
- php 回复id同过session 任意获取id不通过a,PHP会话ID相同但变量丢失
- 用神经网络分类原子和圆
- .net常見面試題(三)
- 相当全面:推荐系统干货总结
- 每月分享github上有意思的项目
- hdu 4597 + uva 10891(一类区间dp)
- linux centos命令语法,linux-centos7
- 【转】盛大创新院许式伟:影响我一生的五个重要选择
- [转]UE/UI/UCE/UED的区别 附UED团队网站链接
- Springboot项目启动的三种方式
- compose RxJava笔记
- 导入新工程,提示“Migrate Project to Gradle?”
- 转:极速的关键——斯巴鲁车系四驱系统详解
- 燕文物流完成上市辅导:董事长周文兴持股30%,曾因丢失邮件被批
- 常见英语面试问答_40个常见的工作面试问答
- “三网融合”的路还有多远?
- vbox 虚拟机添加usb
- ES学习笔记——ES入门:多条件查询、聚合、过滤、排序
热门文章
- Call to undefined method Illuminate\Database\Query\Builder::trashed()
- ios开发日记- 7 禁用搜狗键盘 使用系统键盘
- Java面试准备(三)——Java并发
- JS实现简易版备忘录
- Verilog数字系统基础设计-CRC
- 博客从wordpress迁移到Github.io、GitCafe
- 机器学习(一)- 线性回归/(拟合)模型
- GPU编程--OpenCL基本概念
- Mcafee EPO 使用公网地址
- 非结构化数据暴增,企业如何稳定高效的支撑日均百亿级访问?