<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)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成人网毛片在线播放| 亚洲ⅴ国产v天堂a无码二区| 亚洲色成人网站WWW永久四虎 | 亚洲一区二区三区免费在线观看| 久久久久久久99精品免费| 亚洲三区在线观看无套内射| 国产一二三四区乱码免费| 亚洲无人区午夜福利码高清完整版| 一个人免费观看日本www视频 | 亚洲中文字幕无码爆乳AV| GOGOGO高清免费看韩国| 亚洲精品高清无码视频| 久久久久久成人毛片免费看 | 国产亚洲精午夜久久久久久 | 午夜精品射精入后重之免费观看 | 亚洲熟妇成人精品一区| 国产精品免费小视频| eeuss草民免费| 亚洲an天堂an在线观看| 免费三级毛片电影片| 亚洲成a∨人片在无码2023| 免费在线观看你懂的| 99视频在线免费观看| 日本久久久久亚洲中字幕| 在线播放高清国语自产拍免费| 国产AV日韩A∨亚洲AV电影| 国产AV无码专区亚洲AV漫画 | 暖暖免费高清日本中文| 国产精品小视频免费无限app| 亚洲AV日韩精品久久久久久久| 思思re热免费精品视频66| 黄色网址大全免费| 亚洲ⅴ国产v天堂a无码二区| 岛国片在线免费观看| 中文字幕无线码中文字幕免费| 亚洲女人影院想要爱| 亚洲精品国产精品乱码不卞 | 又粗又大又硬又爽的免费视频| 国产拍拍拍无码视频免费| 亚洲午夜精品久久久久久app| 亚洲日韩在线观看免费视频|