<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vikings

    調用jsonrpc的技巧

    一段不用每個jsp頁面都JSONRPCBridge.registerObject的方法

    1. JsonContextLinster
    在spring文件里讀取需要注冊bridge的bean名單
    registerObject
    public class JSONContextListener implements ServletContextAttributeListener {
        
    private final Log log = LogFactory.getLog(JSONContextListener.class);

        
    public void attributeAdded(ServletContextAttributeEvent event) {
            
    if (event.getName().equals(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE)) {
                
    // register LookupHelper so we can call methods on it
                ApplicationContext ctx = (ApplicationContext) event.getValue();

                
    // check for null so we don't have to initialize Spring in tests
                if (ctx != null{
                    log.debug(
    "Registering jsonObjects for XmlHttpRequest to GlobalBridge");
                    
                    JSONRPCBridge jsonBridge 
    = JSONRPCBridge.getGlobalBridge();

                    Map jsonObjects 
    = (Map) ctx.getBean("jsonObjects");
                    
    for (Object name : jsonObjects.keySet()) {
                        jsonBridge.registerObject(name, jsonObjects.get(name));
                    }

                    
                }

            }
            
        }

    public void attributeReplaced(ServletContextAttributeEvent event) {
            attributeAdded(event);
        }

    }


    2.spring配置里的jsonObject
        <!-- json registration -->
        
    <bean name="jsonObjects" class="java.util.HashMap">
            
    <constructor-arg>
                
    <map>
                    
    <entry key="information" value-ref="informationJson"></entry>
                
    </map>
            
    </constructor-arg>
        
    </bean> 

        
    <bean id="informationJson" class="com.vikings.tools.json.Information" >
            
    <property name="informationDAO" ref="informationDAO" />
        
    </bean>

    3.web.xml里增加配置剛才寫的listener
    <listener>
            
    <listener-class>com.vikings.tools.json.JSONContextListener</listener-class>
        
    </listener>

    到這里就不用這么寫了
    <jsp:useBean id="JSONRPCBridge" scope="session"
       class
    ="com.metaparadigm.jsonrpc.JSONRPCBridge" />

    <% JSONRPCBridge.registerObject("myTestObject", aTestObject); %>
    這個也不需要
    // Find the JSONRPCBridge for this session or create one
    // if it doesn't exist. Note the bridge must be named "JSONRPCBridge"
    // in the HttpSession for the JSONRPCServlet to find it.
    HttpSession session = request.getSession();
    JSONRPCBridge json_bridge 
    = null;
    json_bridge 
    = (JSONRPCBridge) session.getAttribute("JSONRPCBridge");
    if(json_bridge == null{
        json_bridge 
    = new JSONRPCBridge();
        session.setAttribute(
    "JSONRPCBridge", json_bridge);
    }

    posted on 2007-11-01 22:19 Vikings 閱讀(1476) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲毛片免费视频| 99无码人妻一区二区三区免费| 在线视频免费观看www动漫| 亚洲黄色片在线观看| 中文字幕免费在线观看| 久久亚洲日韩看片无码| 5555在线播放免费播放| 亚洲国产模特在线播放| 好先生在线观看免费播放| 精品国产成人亚洲午夜福利| 女人18毛片水最多免费观看| 亚洲精品乱码久久久久久蜜桃图片 | 性无码免费一区二区三区在线| 久久国产精品亚洲一区二区| 日本亚洲欧洲免费天堂午夜看片女人员 | 国产高清视频在线免费观看| 亚洲熟妇无码AV| 日韩免费在线观看| 污污的视频在线免费观看| 国产AV无码专区亚洲AV手机麻豆| 免费观看一区二区三区| 亚洲天堂男人天堂| 毛片在线免费视频| 日本一区二区在线免费观看| 亚洲日韩av无码| 国产成人精品免费视频动漫 | 在线成人精品国产区免费| 亚洲第一成年人网站| 国产真实伦在线视频免费观看| www成人免费视频| 91久久亚洲国产成人精品性色| 91视频国产免费| 性生大片视频免费观看一级| 亚洲∧v久久久无码精品| 全免费a级毛片免费看无码| 一个人看的在线免费视频| 无码久久精品国产亚洲Av影片| 毛片a级三毛片免费播放| 久久久久女教师免费一区| 亚洲精品欧洲精品| 亚洲高清免费视频|