WEB开发网
开发学院软件开发Java 使用 Acegi 保护 Java 应用程序,第 5 部分: 保护... 阅读

使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaBean

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: 定义表达式解析器JSF 的 javax.faces.el.VariableResolver 类是默认的表达式解析器,能够将表达式解析为 JSF 的托管 bean,使用 Acegi 保护 Java 应用程序,第 5 部分: 保护 JSF 应用程序中的 JavaBean(5),但是,Variable

定义表达式解析器

JSF 的 javax.faces.el.VariableResolver 类是默认的表达式解析器,能够将表达式解析为 JSF 的托管 bean。但是,VariableResolver 不能解析为 IOC bean。

JSF 提供了一种扩展机制,允许应用程序开发人员编写自己的表达式解析器。Spring 在名为 org.springframework.web.jsf.DelegatingVariableResolver 的类中提供了 JSF 表达式解析器。DelegatingVariableResolver 类能够将表达式解析为 IOC bean。DelegatingVariableResolver 也用默认的 VariableResolver 将表达式解析为 JSF 托管 bean。

要使用 Spring 的 DelegatingVariableResolver,必须在 JSF 的配置文件中配置它。这正是在 清单 3 中包含 <application> 标签的目的(清单 4 显示了这个标签,用于快速参考):

清单 4. <application> 标签

 
<faces-config> 
  .......... 
 <application> 
   <variable-resolver> 
    org.springframework.web.jsf.DelegatingVariableResolver 
   </variable-resolver> 
 </application> 
 
</faces-config> 

清单 4 中的 <application> 标签只包含一个子标签,名为 <variable-resolver>,用于为 JSF 应用程序配置外部解析器。<variable-resolver> 标签包装了 Spring 解析器类的名称(org.springframework.web.jsf.DelegatingVariableResolver),负责将表达式解析为 IOC bean。

实现 JSF 和 IOC bean

前面已经看到了如何配置 JSF 应用程序以使用 Acegi 的 IOC bean。现在可以看看刚刚配置的三个 bean。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Acegi 保护

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接