Struts
是流行和成熟的基于MVC设计模式的Web应用程序框架使用Struts减少在运用MVC设计模式来开发Web应用的时间
MVC模式:
JSP + JavaBean = Model1JSP + Servlet + JavaBean = Model2
Struts发展
Struts2执行原理及过程
搭建Struts2环境步骤
创建Web项目下载并导入相关jar包
http://struts.apache.org/配置过滤器
添加至web.xml创建Action
创建并完善相关配置文件
核心配置文件(struts.xml)和位置(src)固定引入dtd约束测试启动,访问配置文件中的action标签的name(一般后缀jiashang.action)
struts.xml中的标签
package:类似于代码包,区别不同的action,要配置action必须先写package标签,在package里才能配置action
name属性:name值唯一extends属性:属性值固定,写了这个属性之后,配置的action才有效。extends=”struts-default”namespace属性:namespace属性值和action标签里的name属性值构成访问路径,namespace=”/”action:配置action访问路径
name属性:namespace属性值和action标签里面的name属性值构成访问路径。在package标签里写多个action标签,但是action的name属性值不能相同class属性:action全路径method属性:指定访问action的方法result:根据action的方法返回值,配置到不同的路径里
name属性:和方法的返回值一样。如<result name=”ok”>/htllo.jsp</result>type属性:配置如何到路径中(转发或者重定向),默认做转发操作
常量配置
在struts.xml中配置
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
在src下创建struts.properties文件进行配置在web.xml中进行配置
分模块开发
单独写配置文件,把配置文件引入到核心配置文件中
<!-- 引入hello.xml文件 -->
<include file="com.hello.xml"><include/>
Action三种编写方式
创建普通类,不继承任何类也不实现任何接口创建类,实现Action接口创建类,继承ActionSupport类
访问Action中指定的方法
配置action标签的method属性,属性值为方法名
<action name="addAction" class="com.BookAction" method="add"></action>
使用通配符方式实现
<!--
name属性值里写符号*
如果要执行action里面的add方法,访问book_add,使用book_* 可以匹配到,此时*相当于add
-->
<action name="book_*" class="com.BookAction" method="{1}"></action>
动态访问实现
动态方法访问在Struts2中默认是不开启的,如果想要使用需要先开启一个常量 <constant name=”struts.enable.DynamicMethodInvocation” value=”true”></constant>动态方法访问主要的控制是在页面端,所以编写Action和配置Action都很简单,关键是访问路径的编写配置Action: <action name=”userAction” class=”com.UserAction”></action>页面访问路径: <a href=”${pageContext.request.contextPath}/userAction!save.action”>添加用户</a> **如果action方法的返回值在配置文件中没有配置,则有404错误;如有返回值则返回值类型必须为String;可以没有返回值或返回值为”none”
转载请注明原文地址: https://ju.6miu.com/read-10334.html