`

prettyfaces的URL配置 基于 annotation

阅读更多

如果你讨厌XML,你可以尝试着使用基于注解的形式配置 prettyfaces也开始了annotation潮流。

Annotation based configuration

在web.xml中加入以下的
<context-param>
   <param-name>com.ocpsoft.pretty.BASE_PACKAGES</param-name>
   <param-value>com.example.myapp,com.ocpsoft</param-value>
</context-param>
com.example.myapp和com.ocpsoft指明了这两个包是要被annotation扫描到的。
如果你一点都不想用annotation也可以加上下面的
<context-param>
   <param-name>com.ocpsoft.pretty.BASE_PACKAGES</param-name>
   <param-value>none</param-value>
</context-param>
一般情况prettyfaces只会扫描到class路径的annotation,如果你也想让他扫描到lib引入的jar中的annotation
可以加上下面这句话
<context-param>
   <param-name>com.ocpsoft.pretty.SCAN_LIB_DIRECTORY</param-name>
   <param-value>true</param-value>
</context-param>

Simple URL mappings

@Named("bean")
@RequestScoped
@URLMapping(id = "store", pattern = "/store/", viewId = "/faces/shop/store.jsf")
public class StoreBean {
  /* your code */
}
@Named("bean")
@RequestScoped
@URLMappings(mappings={
  @URLMapping(id = "categoryBean", pattern = "/store/#{ bean.category }/", viewId = "/faces/shop/store.jsf"),
  @URLMapping(id = "categoryBean2", pattern = "/shop/#{ bean.category }/", viewId = "/faces/shop/store.jsf")
})
public class CategoryBean {

  private String category;

  /* Getters & Setters */
}

Page actions

最佳实践
我们如果采用一个页面 一个backbean的方式进行开发,那么我们可以在这个backBean的前面加上
@URLMapping(id = "viewItem", pattern = "/store/item/#{ bean.itemId }/", viewId = "/faces/shop/item.jsf")
类似这样的注解来restful化我们的应用

同时注意一个小BUG,在我使用pretty faces 3.2.0 version的时候
其中基于注解的配置方式pattern = "/store/item/#{ bean.itemId }/"   其中  #{ bean.itemId } 后边必须跟着 一个 /  来结束 要不然回出问题。
分享到:
评论

相关推荐

    基于Annotation的Servlet配置

    这篇博文"基于Annotation的Servlet配置"探讨了如何使用注解来配置Servlet,让我们深入理解这一现代Web应用开发中的重要概念。 首先,我们来看`@WebServlet`注解。这个注解是Java Servlet API的一部分,可以直接在...

    基于Annotation的s2sh整合配置实现分页功能

    基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能

    基于annotation 的ssh整合(1)

    在本文中,我们将探讨如何基于注解(Annotation)进行SSH(Struts、Hibernate、Spring)的整合。传统的SSH整合通常依赖于XML配置文件,但随着技术的发展,注解的引入使得我们可以更加简洁地管理类和它们之间的关系,...

    基于annotation s2sh实现零配置的CRM

    【基于Annotation的S2SH实现零配置CRM】 在IT行业中,CRM(Customer Relationship Management)系统是一种用于管理企业与客户之间关系的重要工具。S2SH,即Struts2、Spring和Hibernate的组合,是Java Web开发中常用...

    基于annotation的aop实现

    在Spring中,我们可以使用XML配置或Annotation来声明切面。本文主要关注Annotation方式,因为它更直观、简洁。`@Aspect`是声明一个类为切面的Annotation,而`@Before`、`@After`、`@Around`、`@AfterReturning`和`@...

    基于Annotation的Java单元测试框架.pdf

    "基于Annotation的Java单元测试框架" 本文主要介绍了基于Annotation的Java单元测试框架,讨论了Annotation在Java EE中的应用、反射技术的使用和JUnit单元测试框架的结合,建立了一个自动化单元测试框架结构。 一、...

    详解 Spring 3.0 基于 Annotation 的依赖注入实现

    ### 详解 Spring 3.0 基于 Annotation 的依赖注入实现 #### 一、Spring 3.0 基于 Annotation 的依赖注入概述 在 Spring 框架的早期版本中,依赖注入(Dependency Injection, DI)主要通过 XML 配置文件来实现。...

    基于annotation s2sh实现零配置的教务管理系统

    【标题】"基于annotation s2sh实现零配置的教务管理系统"揭示了这个项目的核心技术特点,即使用了Spring、Struts2和Hibernate这三大框架的集成(S2SH),并借助注解(Annotation)来实现系统的零配置。在传统的S2SH...

    基于Annotation的MVC框架SSH示例.rar

    在这个"基于Annotation的MVC框架SSH示例"中,我们将探讨如何使用注解(Annotation)来简化SSH框架的配置和实现。 1. **Spring框架**:Spring是核心容器,负责管理应用对象的生命周期和依赖注入。在传统的Spring配置...

    基于annotation 的ssh整合(2)

    这里使用的是`AnnotationSessionFactoryBean`,它是`LocalSessionFactoryBean`的一个子类,专门用于支持基于Annotation的Hibernate配置。与传统的`setMappingResources()`不同,该类支持`setAnnotatedClasses()`方法...

    S2SH整合基于annotation

    1. **配置文件**:如struts.xml、hibernate.cfg.xml、applicationContext.xml等,它们定义了框架的配置信息,但使用Annotation后,部分配置可以在代码中完成。 2. **实体类**:包含了Hibernate的Annotation,如`@...

    ssh包(基于annotation)

    这里提到的"ssh包(基于annotation)"很可能是指SSH框架在使用注解(Annotation)进行配置的情况。 Spring框架是SSH中的核心,它负责管理对象的生命周期和依赖关系。使用注解可以使Spring配置更加简洁,避免了XML配置...

    spring 2.0使用AOP实例(基于Annotation的配置方式)

    Spring 2.0引入了基于注解的AOP配置,极大地简化了AOP的使用。这篇博客文章将探讨如何在Spring 2.0中使用AOP实例,特别是通过注解来实现。 首先,我们需要了解AOP的基本概念。AOP的核心是切面(Aspect),它封装了...

    详解Spring基于Annotation的依赖注入实现

    技术分享:详解Spring基于Annotation的依赖注入实现

    extjs+s2sh基于annotation的理财系统

    【标题】"extjs+s2sh基于annotation的理财系统"是一个综合性的IT项目,它结合了前端的ExtJS框架和后端的Struts2、Spring、Hibernate(S2SH)框架,并利用注解(Annotation)进行配置,构建了一个完整的理财管理系统...

    基于annotation s2sh实现零配置的教务管理系统改进版

    在本项目中,我们采用“基于annotation的S2SH(Struts2、Spring、Hibernate)实现零配置的教务管理系统改进版”,这表明了系统设计的核心在于利用Java框架的注解能力来减少传统XML配置文件的使用,从而提高开发效率...

    s2sh基于annotation实现零配置的毕业设计(网上花店系统)

    【标题】"s2sh基于annotation实现零配置的毕业设计(网上花店系统)" 描述了一种使用注解(Annotation)技术在Spring、Struts2和Hibernate(简称S2SH)框架下构建的无XML配置的毕业设计项目。这个项目以一个网上花店...

    详解Spring_3.0基于Annotation的依赖注入实现

    随着Spring 3.0版本的发布,框架引入了基于Annotation的依赖注入机制,极大地简化了配置过程,提高了开发效率。 #### Spring 3.0的注解驱动依赖注入 Spring 3.0之前的版本主要依赖XML配置文件来定义和管理Bean之间...

    Struts2.3.15 基于Annotation的小DEMO

    在这个基于Annotation的小DEMO中,我们将探讨如何使用Struts2.3.15的注解特性来创建一个简单的Web应用。 首先,Struts2的注解简化了Action类的配置。在传统的Struts2配置中,我们通常会在struts.xml文件中定义每个...

Global site tag (gtag.js) - Google Analytics