精华内容
下载资源
问答
  • JSF

    2018-11-28 15:45:20
  • jsf

    2018-03-14 10:16:27
    使用:1.在服务端写接口和实现类,在服务端配置文件配置好提供者。服务端接口所在项目打包后放到私服给消费端的项目依赖好即可。...http://jpcloud.jd.com/pages/viewpage.action?pageId=10671259#JSF...


    使用:

    在pom里面引入jsf的jar包。

    <dependency>
        <groupId>com.jd</groupId>
        <artifactId>jsf</artifactId>
        <version>最新版本</version>
    </dependency>

    如果需要发布Webservices,还得在项目中单独引入cxf的jar包。
    如果需要发布Rest,还得在项目中单独引入resteasy相关的jar包 


    1.在服务端写杰夫接口模块和杰夫实现类模块,在服务端杰夫实现类模块配置文件配置好提供者并配置对杰夫接口的maven依赖。服务端接口(不是杰夫接口)所在项目打包后放到私服。(杰夫接口名有人以facade结尾命名)

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jsf="http://jsf.jd.com/schema/jsf"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://jsf.jd.com/schema/jsf http://jsf.jd.com/schema/jsf/jsf.xsd" default-autowire="byName">


        <!-- 服务端 -->
        <jsf:server id="jsf" protocol="jsf"/>


        <!-- jsf provider发生异常provider应用无异常信息问题处理-->
        <jsf:filter id="logExceptionFilter" class="com.jd.ihhotel.jsf.exception.RpcExceptionFilter"
                    providers="*"/>(继承的公司的类,可不使用)




        <!--JSF provider-->
        <jsf:provider id="domesticOrderFacade"
                      interface="com.jd.ihhotel.jsf.api.service.DomesticOrderFacade"
                      alias="trip-ihhotel-man-order-test" ref="domesticOrderImpl" server="jsf"/>


        <!--实现类-->
        <bean id="domesticOrderImpl"
              class="com.jd.ihhotel.jsf.service.impl.DomesticOrderImpl"/>


    </beans>

    2.消费端项目配置好对服务端杰夫接口模块的maven依赖后,在配置文件配置消费者即可,接口名和别名必须和服务端的一致。

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jsf="http://jsf.jd.com/schema/jsf"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://jsf.jd.com/schema/jsf http://jsf.jd.com/schema/jsf/jsf.xsd" default-autowire="byName">




        <jsf:consumer id="domesticOrderFacade"
                      interface="com.jd.ihhotel.jsf.api.service.DomesticOrderFacade"
                      protocol="jsf" alias="trip-ihhotel-man-order-test" timeout="5000"
                      retries="0">
        </jsf:consumer>
    </beans>


    http://jpcloud.jd.com/pages/viewpage.action?pageId=10671259#JSF

    3.引入杰夫配置文件:

    <!-- jsf配置文件 -->
    <import resource="config/spring-jsf-client.xml"/>
    <import resource="config/spring-jsf-server.xml"/>
    当然服务端只需配一个,客户端配一个即可。除非即使客户端又是服务端。

    请注意:服务匹配是依靠 interface(接口) 以及 alias(别名)两个配置来完成的;

    也就是说调用端(Service Consumer)必须与服务端(Service Provider)的interface 与alias 属性配置必须完全一致,否则调用时会收到一个No Provider(没有服务提供者)的错误!


    反过来依赖是因为权利问题?(jsf反过来依赖)

    展开全文
  • JSF

    2008-10-06 09:52:35
    最近几天在学习JSF相关的一些知识,在朦胧的学习过程中遇到了一些问题,希望大家多多帮助,我遇到了下面的问题: 因为我是用JSF做一个简单的操作数据库的小程序,当我查出了所有的数据库信息后,就要通过链接的...
    最近几天在学习JSF相关的一些知识,在朦胧的学习过程中遇到了一些问题,希望大家多多帮助,我遇到了下面的问题:

    因为我是用JSF做一个简单的操作数据库的小程序,当我查出了所有的数据库信息后,就要通过链接的形式进行编辑的操作,由于JSF没有自己的迭代标签,但是我在网上查到了,那个高手说,用c标签就可以,但是用c标签的同时不可以用jsf标签,所以在操作链接的时候只能是用jsp的a标签来写:<a href="updateUser.faces?userID=<%=userID%>"></a>,我的一个朋友帮我看了一下,然后进行了一些相关的测试,结果在BackingBean中得到了userID的信息(他在faces.config.xml中有对userID范围的配置,在BackingBean中也有userID属性的getter,setter方法),但是我就是不知道jsf是如何调用到BackingBean里去的,也不知道他怎么调用jsf配置文件里面的相应的信息的。
    展开全文
  • JSF

    2008-01-12 17:31:50
    JSF从1.1升级到1.2,这个过程中暴漏出JSF的一些不足,如下: 一,原来在1.1下运行很正常的backing bean 不再正常了,调试之后发现有些backing bean 竟然是使用的包级私有的构造函数,但是很纳闷怎么在1.1下正常...
    把JSF从1.1升级到1.2,这个过程中暴漏出JSF的一些不足,如下:

    一,原来在1.1下运行很正常的backing bean 不再正常了,调试之后发现有些backing bean 竟然是使用的包级私有的构造函数,但是很纳闷怎么在1.1下正常而1.2下就实例化不了,可能是JSF 1.1 的实现中是利用反射机制进行backing bean的初始化吧,而1.2又改成调用backing bean 的默认构造函数了,所以碰到包级私有构造函数的backin bean 才出现无法实例化的异常吧。

    二,JSF提供的组件中的那个SelectOneMenu个人认为有一个不足之处,如果服务器端初始化组件树时候有四个待选项,到了客户端页面通过ajax对待选项进行了修改,比如改成了五个,这中情况下你页面中的所有command类型的组件的方法绑定都会失效,跟踪JSF源码发现这个SelectOneMenu的Render中首先进行了一个个人认为画蛇添足的校验,它首先校验你提交上来的那个值是否在组件初始化时候提供的待选项内,如果不是待选项中的某个则直接生命周期最后阶段并忽略了中间的所有处理,包括你的方法绑定,这个问题很隐蔽,一般很难发现,这个校验个人认为为客户端使用AJAX带来了很大的麻烦,动态修改下来菜单的选项是很普通的ajax应用了(比如多级联动下拉菜单),为了给SelectOneMenu提供ajax能力我不得不重新实现了一个SelectOneMenu,现在我把工程升级到JSF 1.2才发现JSF1.2的核心api正如官方所言没有重大改动,只是统一了EL,但同时我确发现JSF的一些“不重要”的API改动确很大,我自己开发的组件用了1.1中的**util类,可是现在发现那些静态方法现在都没有了,这时不得不再次重新写一个SelectOneMenu,这回一点儿它的**util类也不用,免的下回升级还重写。

    三,JSF 1.1 RI中的commandLink居然把dom中的onClick()自己占用了,发现JSF1.2 RI又还回来了,这点还是做的不错的,不过却发现JSF组件ID系统自动生成的算法改了,1.1中如果你没有给页面上的组件指定ID那么JSF会按照某种算法自动生成一个,可是1.2中不但为这个自动生成id的行为增加了一个“开关”,而且生成算法也改了,这回麻烦大了,当初项目组中很多成员比较懒,页面中的javascript直接就是用的那个自动生成的ID,这回生成算法一改页面中的大部分javascript都瘫痪了,唉,懒人啊!

    四,原来1.1与Spring整合的时候发现Spring提供的JSF变量解析器只能整合MyFaces,不得不使用了jsf-spring.jar进行jsf RI+spring整合,现在突然发现JSF 1.2 RI终于可以直接使用spring的变量解析器进行整合了,这点儿还是不错的。表扬一下!

    五,原来项目中的上传下载使用了MyFaces的tomahawk组件包中的部分组件,可是到apache的网战上一看虽然MyFaces-core出了1.2版本,但是tomahawk还仍然停留在1.1,唉!组件版本不兼容的烦恼啊!
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,198
精华内容 6,479
热门标签
关键字:

jsf