快速业务通道

使用Spring,JSF,EJB3设计企业应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
private ProductDAORemote productDAO;    private Product product;    public ProductBean() {      product = new Product();    }    public void setProductDAO(ProductDAORemote productDAO)  {      this.productDAO = productDAO;    }    public String add() {      productDAO.add(product);      return "";    }    public List<Product> getProducts() {      return productDAO.findAll();    }    public Product getProduct() {      return product;    } }

使用Spring,JSF,EJB3设计企业应用程序(13)

时间:2011-05-25 IBM 周行

属性 productDAO 通过 JSF 配置文件用 Spring 注入,属性 product 为简单 起见作为表单 Form 。

在 JSF 中使用 Spring 的注入功能需要在 JSF 配置文件中使用 Spring 的变 量解析器 DelegatingVariableResolver 类。 DelegatingVariableResolver 类 首先会查询请求委派到 JSF 实现的默认的解析器中,然后才是 Spring 的“ business context ”。代码片段如下:

清单 6. 在 faces-config.xml 文件中指定使用 Spring 变量解析器

<application>     <variable-resolver>       org.springframework.web.jsf.DelegatingVariableResolver     </variable-resolver>     <locale-config>       <default-locale>en</default-locale>     </locale-config>   </application>

在 JSF 配置文件中配置 Managed Bean,代码片段如下:

清单 7. 配置 Managed Bean

<managed-bean>    <managed-bean-name>productBean</managed-bean-name>    <managed-bean- class>org.zhouxing.simple.ProductBean</managed-bean-class>    <managed-bean-scope>session</managed-bean-scope>    <managed-property>      <property-name>productDAO</property-name>      <value>#{productDAO}</value>    </managed-property> </managed-bean>

#{productDAO} 表达式将通过 Spring 注入。

在 JSF 配置文件中配置 navigation Rule,请求转向 index.jsp 。代码片段 如下:

清单 8. 配置 navigation Rule

<navigation-rule>    <navigation-case>      <to-view-id>/index.jsp</to-view-id>    </navigation-case> </navigation-rule>

使用Spring,JSF,EJB3设计企业应用程序(14)

时间:2011-05-25 IBM 周行

创建 index.jsp,页面显示表单和查询结果。代码片段如下:

清单 9. 创建 index.jsp

<f:view>    <h:form>      名称 <h:inputText value="# {productBean.product.name}"/><p>      存货 <h:inputText value="# {productBean.product.inventory}"/><p>      单价 <h:inputText value="# {productBean.product.price}"/><p>      描述 <h:inputTextarea value="# {productBean.product.description}"/>      <h:commandButton value=" 添加 " action="#{productBean.add}"  />    </h:form>    <h:dataTable var="entry" value="#{productBean.products}"      rendered="true">      <h:column>

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号