Struts1 知识积累
Struts1
Struts1.x 是MVC实现的开源框架
Struts是工作与显示层与控制层的框架,它不涉及业务层与数据层
servlet的处理路径: Struts1.x中的Servlet路径是一个经典的 "*.do"
请求转发处理绑定都在 WEN-INF/struts-config.xml 中
官方网站
官方网站:https://struts.apache.org/
文档及源码 https://archive.apache.org/dist/struts/struts-1.1/
Struts1 常用类
org.apache.struts.action.Action
org.apache.struts.actions.DispatchAction
请求转发器,继承自 org.apache.struts.action.Action
根据<action>的parameter属性转发自对应的方法,不要设置为execute,因为execute是Action中的方法,会首先执行,
例如:?method=xxx
org.apache.struts.action.ActionMapping
AcctionMapping封装的是Action的配置信息,一个Acction配置信息对应一个AcctionMapping。
org.apache.struts.action.ActionForward
在struts-config.xml配置的forward属性
<forward>可以看成是一个ActionForward对象,这个对象有两个属性name和path
org.apache.struts.action.ActionForm
org.apache.struts.action.ActionServlet
JNDI 查找Bean
InitialContext ctx = new new InitialContext();
Object bean = ctx.lookup(newLocation);
Action和ActionForm
Struts1.x中的处理程序分为两种,Action和ActionForm,Action用来处理数据请求,ActionForm用来处理数据验证
ActionMapping类可以读取struts-config.xml文件的配置
ActionForward包装要跳转的路径
缺点:
Struts1.x 一个Action对应一个ActionForm
所有要使用的Action、ActionForm都需要在struts-config中配置
优点:
开发结构严谨、提供了大量的标签(html、logic、bean)、可以直接进行vo对象的转换以及分发操作
struts-config 配置
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<!--form-bean可以配置多个,对应ActionForm,封装表单对象-->
<form-bean name="orderInfoForm"
type="继承自ActionForm的实例的全限定性类名"/>
</form-beans>
<global-forwards>
<forward name="error" path="全局异常页面"/>
</global-forwards>
<!--action可以配置多个,对应Action,DispatchAction-->
<action-mappings>
<action name="orderInfoForm" parameter="method" path="/orderInfo"
scope="request"
type="某个Action的全限定性类名"
validate="false">
<!--forward可以配置多个,对应ActionForward-->
<forward name="all" path="转发路径"/>
</action>
</action-mappings>
<controller contentType="text/html;charset=UTF-8" locale="true"
processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
<!--国际化配置-->
<message-resources key="order" parameter="order" null="true"/>
<!--tiles模板插件-->
<plug-in className="org.apache.struts.tiles.TilesPlugin"/>
</struts-config>
struts在JSP 页面中引入标签库
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
struts标签
logic:equal
这里要介绍的不只是logic:equal(=)标签,而是要介绍一类标签,这类标签完成比较运算,包括:
logic:equal(=)
logic:notEqual(!=)
logic:greaterEqual(>=)
logic:lessEqual(<=)
logic:graterThan(>)
logic:lessThan(<)
该类标签的用法类似,我们只介绍logic:equal标签,其它的留给您自己去完成。
logic:equal是用来判断是否相等的。如果相等,该标签体中嵌入的内容就会被处理。该标签用于以下情况:
比较由该标签的cookie属性指定的cookie的值是否与该标签的value属性值相等。
比较由该标签的header属性指定的header的值是否与该标签的value属性值相等。
比较由该标签的name属性指定的JSP Bean是否与该标签的value属性值相等(property属性不出现)或比较由该标签的name属性指定的JSP Bean中的property属性值是否与该标签的value属性值相等。
比较由该标签的parameter属性指定的参数值(request中)是否与该标签的value属性值相等。
参考资料
入门Struts1第一讲——Struts1入门就这么简单
https://blog.csdn.net/yerenyuan_pku/article/details/52652262
《Struts1.x 开发框架》
https://www.bilibili.com/video/BV16J411p7LK
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!