JSF和Spring集成

lq2009v 贡献于2012-12-31

作者 李辉  创建于2010-11-12 06:46:00   修改者李辉  修改于2010-11-12 08:11:00字数5336

文档摘要:JSF和Spring集成的资料比较少,原理是获得彼此的上下文引用,以此进一步获得各自管理的bean,这是可能的,因为两者是web应用框架都遵循servlet规范,为二者整合提供了可能和基础. 在Spring中ApplicationContext是相当重要的类,对于web应用,它还包装了javax.servlet.ServletContext,为web应用提供了所有可以利用的数据,包括可管理bean,Faces中通过FacesContext类可以获得所有可以利用的资源,同样包括JSF的可管理支持bean,它们都围绕着ServletContext提供了自己的门面,通过各自的门面在Servlet容器的世界里彼此相通.
关键词:

梦想成就未来 java学习笔记 作者:李辉 JSF和Spring集成 介绍: JSF和Spring集成的资料比较少,原理是获得彼此的上下文引用,以此进一步获得各自管理的bean,这是可能的,因为两者是web应用框架都遵循servlet规范,为二者整合提供了可能和基础. 在Spring中ApplicationContext是相当重要的类,对于web应用,它还包装了javax.servlet.ServletContext,为web应用提供了所有可以利用的数据,包括可管理bean,Faces中通过FacesContext类可以获得所有可以利用的资源,同样包括JSF的可管理支持bean,它们都围绕着ServletContext提供了自己的门面,通过各自的门面在Servlet容器的世界里彼此相通. 示例 JSF本身提供了强大的Bean管理功能。但Spring作为一种轻量的容器,在管理Bean方面有着不可替代的优势,使用起来很方便。在Spring流行的今天,怎么能少了在JSF中整合Spring呢?下面的示例比较简单,但也能清楚的表达如何将JSF+Spring两者互相整合起来。 整个示例,通过输入页面输入特定的字符串,在后面查找此字符串对应的数值,然后展现给客户,如果没有找到则提示错误。 一、页面  1.输入页面:stockInput.jsp  <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> 字符输入页面

请输入一个字符串,如ABC或DEF或GHI或JKL

2.输出页面:stockOutputSuccess.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> 取得字符串所对应的值

所输入的字符串 对应的值是

  3.错误处理页面:stockOutputFailure.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> 错误页面

所查找的字符串 不存在,请再次查找!

/ 5 梦想成就未来 java学习笔记 作者:李辉   二、后台处理Bean  StockValueFetcher.java package com.sterning.springjsf; import java.util.*; public class StockValueFetcher { private Map stockSymbolsAndValues; private String symbolName; private String symbolValue; public StockValueFetcher() { stockSymbolsAndValues = new HashMap(); stockSymbolsAndValues.put("ABC", "10"); stockSymbolsAndValues.put("DEF", "20"); stockSymbolsAndValues.put("GHI", "30"); stockSymbolsAndValues.put("JKL", "40"); } public String getSymbolName() { return symbolName; } public void setSymbolName(String symbolName) { this.symbolName = symbolName; } public String getSymbolValue() { return symbolValue; } public void setSymbolValue(String symbolValue) { this.symbolValue = symbolValue; } public String findStockValue() { boolean symbolFound = stockSymbolsAndValues.containsKey(symbolName); if (symbolFound) { symbolValue = stockSymbolsAndValues.get(symbolName); return "stockOutputSuccess"; } else { return "stockOutputFailure"; } } }      三、配置文件 1.WEB-INF/faces-config.xml / 5 梦想成就未来 java学习笔记 作者:李辉 org.springframework.web.jsf.DelegatingVariableResolver Navigation from the hello page. /stockInput.jsp stockOutputSuccess /stockOutputSuccess.jsp stockOutputFailure /stockOutputFailure.jsp   2.WEB-INF/applicationContext.xml 3.WEB-INF/web.xml org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/applicationContext.xml Faces Servlet / 5 梦想成就未来 java学习笔记 作者:李辉 javax.faces.webapp.FacesServlet 1 Faces Servlet /faces/* 30 faces/stockInput.jsp   / 5

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 6 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档