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

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

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

    隨筆-13  評論-9  文章-9  trackbacks-0

    總體圖表(參照stucts)

    DispatcherServlet=ActionServlet
    HandlerMapping=Struts-config.xml
    Controller=Action
    ModelAndView=mapping.findforward(string) 中的string;
    ViewResolver=mapping.findforward(string) 中string的解釋器

    特別注意:
    1.在web.xml里面配置好
    <servlet>
    ??? <servlet-name>springapp</servlet-name>
    ??? <servlet-class>org.springframework.web.servlet.DispatcherServlet
    ??? </servlet-class>
    ??? <load-on-startup>1</load-on-startup>
    ? </servlet>
    ?<servlet-mapping>
    ??? <servlet-name>springapp</servlet-name>
    ??? <url-pattern>*.do</url-pattern>
    ? </servlet-mapping>

    不需要配置context-param
    <context-param>
    ? <param-name>contextConfigLocation</param-name>
    ? <param-value>/WEB-INF/springapp-servlet.xml</param-value>

    </context-param>
    DispatcherServlet?能夠自動的到WEB-INF下面查找與他同名的后面接-servlet,.xml的配置文件。
    (springapp-servlet.xml)

    注意:DispatcherServlet?處理的跳轉必須要在工程名下面。例如:工程名為:SpringMvc.則Http://localhost:8080/SpringMvc/test.htm可以跳轉。
    Http://localhost:8080/test.htm?不能跳轉

    ?詳細說明MultiActionController的配置吧:
    首先在bean.xml里面:

    <bean id="methodNameResolver"
    class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
    <property name="paramName"><value>method</value> //相當于DispatchAction的method后面接需要觸發的方法
    </property>
    ?
    //另一個觸發方法的配置
    //當提交coureList.htm時候觸發coursesUnsorted方法,當提交coursesSort.htm時候觸發coursesSortByDate方法

    <property name="mapping">
    ? <props>
    ????? <prop key="/coureList.htm">coursesUnsorted</prop>
    ???? ?<prop key="/coursesSort.htm">coursesSortByDate</prop>
    ???</props>
    </property>
    </bean>

    //默認方式頁面跳轉到Controller
    <bean name="/jsp/test.do" class="org.nightwalker.spaces.web.controller.TestController">
    <property name="methodNameResolver">
    <ref local="methodNameResolver"/>
    </property>
    </bean>
    ?

    //SimpleUrlHandlerMapping頁面跳轉到Controller
    <bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHand">
    <property name="mapping">
    <props>
    <prop key="/listCourses.htm">listCourseController</prop>
    <prop key="/register.htm">registerController</prop>
    <props>
    </props>
    </property>
    </bean>

    配置呢就這么簡單。methodNameResolver指定了調用MultiActionController中方法的方式,例如,如果在你的MultiActionController中有如下方法:


    public ModelAndView insertAccount(HttpServletRequest request,HttpServletResponse,Account account)
    {
    }

    那么要調用這個方法,你的JSP頁面的請求URL就應該這樣寫:
    <form action="test.do?method=insertAccount">
    </form>

    至于綁定什么command和JSP是沒有關系的。你在MultiActionController中的方法簽名第三個參數是什么對象,Spring就會把request中參數的值綁定到方法簽名的第三個對象中。

    例子我倒是沒有,最直接的辦法就是去看一下MultiActionController的源代碼,非常簡單拉,一看就明白了。



    protectedfinal ModelAndView invokeNamedMethod(String methodName, HttpServletRequest request, HttpServletResponse response)throwsException
    {
    ? ? ? ? ? ? ? ?

    ? ? ? ? ? ? ? ? ? ? ? ?
    // If last parameter isn't of HttpSession type, it's a command.
    // 在這里,Spring會判斷你的請求方法里面第三個參數的類型。如果第三個參數類型不是HttpSession,就認為是要綁定的command。
    if(method.getParameterTypes().length >= 3 &&
    !method.getParameterTypes()[method.getParameterTypes().length - 1].equals(HttpSession.class))
    {
    ? ? // 根據類型利用反射產生Command對象
    ? ? Object command = newCommandObject(method.getParameterTypes()[method.getParameterTypes().length - 1]);
    ? ? params.add(command);
    ? ?// 綁定command對象
    ? ?bind(request, command);
    }


    // 最后通過反射去調用你的方法,也就是說,在執行你的方法時,command已
    // 經幫你綁定好拉,你直接用就可以了。? ? ? ? ? ? ? ? ? ? ? ?
    return(ModelAndView) method.invoke(this.delegate, params.toArray(newObject[params.size()]));
    }

    使用模板視圖
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix"><value>/jsp</value></property>//前綴
    <property name="suffix"><value>.jsp</value></property>//后綴
    </bean>

    posted on 2006-06-20 10:50 Dragonofson 閱讀(1633) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 久久国产乱子伦精品免费一| 最近中文字幕电影大全免费版 | 国产成人精品无码免费看| 亚洲精品第一国产综合精品| 狠狠久久永久免费观看| 99热在线日韩精品免费| 97久久国产亚洲精品超碰热| 亚洲人成网站观看在线播放| www视频在线观看免费| 一级毛片免费播放男男| 亚洲国产成人91精品| 亚洲中文字幕无码一区二区三区| 国产精品久久免费| 巨胸喷奶水www永久免费 | aa毛片免费全部播放完整| 亚洲一区二区三区亚瑟| 亚洲无人区一区二区三区| 暖暖免费高清日本中文| 四虎国产成人永久精品免费| 黄色一级视频免费观看| 亚洲噜噜噜噜噜影院在线播放 | 亚洲视频中文字幕在线| 亚洲国产一区二区三区| 毛片a级毛片免费播放100| 久久久免费精品re6| 一个人看的在线免费视频| 亚洲色大成WWW亚洲女子| 亚洲国产高清视频| 亚洲一区二区精品视频| 国产美女被遭强高潮免费网站| 最近中文字幕免费完整| 中文字幕乱码免费看电影| 亚洲AV香蕉一区区二区三区| 激情综合亚洲色婷婷五月| 久久久久无码精品亚洲日韩 | 亚洲美女aⅴ久久久91| 亚洲午夜未满十八勿入网站2| 国产成人免费a在线资源| 国产免费av片在线看| 在线a免费观看最新网站| 久久爰www免费人成|