今天是学习SSH三大框架的第一天,由于以前觉自己学过加上老师讲解的很详细,觉得一天下来收获了很多,而且老师
交给我们的知识是系统性的,而且较深入的,自己学习很难理解,可是经过老师耐心的讲解。我们收获了不仅有知识,学习方法
,还有学习新知识的乐趣。
Struts2框架的集成
1.从Struts_blank/lib/*.jar依赖包
2.从Struts_blank/classes/struts.xml配置文件
3.从Struts_blank/WEB-INF/web.xml拷贝配置Struts2的核心控制器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.编写控制器
action中方法的返回类型统一定义为String,对应的是视图的名称
5.在Struts.xml配置控制器(action)
<package name="default" namespace="" extends="struts-default">
<action name="index" class="">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
Struts2中的视图
这种映射方式可以实现action程序代码与返回的jsp页面名称的解耦。
局部视图:在<action>元素中配置<result>元素
全局视图:在<global-results>元素中配置<result>元素
<result name="" type="">
<param name="location">xxx.jsp<param>
</result>
Struts2常量
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name=“struts.action.extension” value=“do,go,action,,”/>
Struts2其他配置
<include file="">
<default-action-ref>
<default-class-ref>
动态方法调用
关闭struts.enable.DynamicMethodInvocation
actionName!methodName[.expr]
通配符
使用*站位,下标从1开始
<action name="emp_*" class="xx.EmpAction" method="{1}">
<result type="redirectAction">
<param name="actionName">employee_list</param>
<param name="namespace">/dmi</param>
</result>
<result name="list" type="dispatcher">
/WEB-INF/Employee/list.jsp
</result>
<result name="input" type="dispatcher">
/WEB-INF/Employee/input.jsp
</result>
</action>
<action name="*_*" class="xx.{1}Action" method="{2}">
<result type="redirectAction">
<param name="actionName">{1}_list</param>
<param name="namespace">/dmi</param>
</result>
<result name="list" type="dispatcher">
/WEB-INF/{1}/list.jsp
</result>
<result name="input" type="dispatcher">
/WEB-INF/{1}/input.jsp
</result>
</action>
交给我们的知识是系统性的,而且较深入的,自己学习很难理解,可是经过老师耐心的讲解。我们收获了不仅有知识,学习方法
,还有学习新知识的乐趣。
Struts2框架的集成
1.从Struts_blank/lib/*.jar依赖包
2.从Struts_blank/classes/struts.xml配置文件
3.从Struts_blank/WEB-INF/web.xml拷贝配置Struts2的核心控制器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4.编写控制器
action中方法的返回类型统一定义为String,对应的是视图的名称
5.在Struts.xml配置控制器(action)
<package name="default" namespace="" extends="struts-default">
<action name="index" class="">
<result type="redirectAction">
<param name="actionName">HelloWorld</param>
<param name="namespace">/example</param>
</result>
</action>
</package>
Struts2中的视图
这种映射方式可以实现action程序代码与返回的jsp页面名称的解耦。
局部视图:在<action>元素中配置<result>元素
全局视图:在<global-results>元素中配置<result>元素
<result name="" type="">
<param name="location">xxx.jsp<param>
</result>
Struts2常量
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<constant name=“struts.action.extension” value=“do,go,action,,”/>
Struts2其他配置
<include file="">
<default-action-ref>
<default-class-ref>
动态方法调用
关闭struts.enable.DynamicMethodInvocation
actionName!methodName[.expr]
通配符
使用*站位,下标从1开始
<action name="emp_*" class="xx.EmpAction" method="{1}">
<result type="redirectAction">
<param name="actionName">employee_list</param>
<param name="namespace">/dmi</param>
</result>
<result name="list" type="dispatcher">
/WEB-INF/Employee/list.jsp
</result>
<result name="input" type="dispatcher">
/WEB-INF/Employee/input.jsp
</result>
</action>
<action name="*_*" class="xx.{1}Action" method="{2}">
<result type="redirectAction">
<param name="actionName">{1}_list</param>
<param name="namespace">/dmi</param>
</result>
<result name="list" type="dispatcher">
/WEB-INF/{1}/list.jsp
</result>
<result name="input" type="dispatcher">
/WEB-INF/{1}/input.jsp
</result>
</action>