SpringMVC視圖解析器配置式開發
阿新 • • 發佈:2018-03-24
ack org AR 定義 dna true javax 映射 方式
視圖解析器分為:
默認方法名解析器
屬性方法名解析器
參數方法名解析器
測試案例:創建類
package cn.happy.day03MultiAction; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.multiaction.MultiActionController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //默認方法名解析器 public class MyMultiActionController extends MultiActionController { //自定義兩個方法 public String doFirst(HttpServletRequest request,HttpServletResponse response){ return "doFirst";//訪問jsp名稱 } public String doSecond(HttpServletRequest request,HttpServletResponse response){ return "doSecond"; } }
方式一:默認方法名解析器
<!--視圖解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean> <!--方式一:使用默認方法名解析器 處理器映射器--> <!--處理器--> <bean id="myMultiActionController" class="cn.happy.day03MultiAction.MyMultiActionController"> </bean> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <map> <!--訪問url 例:/方法名.do訪問--> <!--控制器--> <entry key="/*.do" value="myMultiActionController"/> </map> </property> </bean>
訪問方式應為:Http://location:8080/方法名.do
方式二:屬性方法名解析器
<!--視圖解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean> <!--屬性方法名解析器--> <bean id="multiAction" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> <property name="mappings"> <props> <!--訪問URL 實體類方法名--> <prop key="/first">doFirst</prop> <prop key="/second">doSecond</prop> </props> </property> </bean> <!--處理器映射器--> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="urlMap"> <map> <!--控制器--> <entry key="/*" value="multiActionController"></entry> </map> </property> </bean> <!--處理器--> <bean id="multiActionController" class="cn.happy.day03MultiAction.MyMultiActionController"> <!--綁定解析器--> <property name="methodNameResolver" ref="multiAction"/> </bean>
訪問方式應為:Http://location:8080/first or second
方式二:參數方法名解析器
<!--視圖解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean> <!--方式三:參數方法名解析器--> <bean id="methodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver"> <!--參數名稱:自定義--> <property name="paramName" value="actionName"/> </bean> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <map> <!--固定訪問地址--> <entry key="/hello.do" value="multiActionController"/> </map> </property> </bean> <!--處理器--> <bean id="multiActionController" class="cn.happy.day03MultiAction.MyMultiActionController"> <!--綁定解析器--> <property name="methodNameResolver" ref="methodNameResolver"/> </bean>
訪問方式應為:Http://location:8080/hello.do?actionName=方法名
SpringMVC視圖解析器配置式開發