Struts2常见配置

配置XML提示

在这里插入图片描述

Action的配置

package标签配置

在这里插入图片描述
package标签是包,他的作用是为了更好的管理Action.

package标签的常用属性

  • name:包的名称,在一个Struts2项目中可以随便定义,只要不重名即可
  • extends:继承的包,一般继承struts-default
  • namespace:名称空间,与action标签中的name属性共同决定了访问路径
    • 名称空间的三种不同的写法
      • 带名称的名称空间:namespace="/test"
      • 根名称空间:namespace="/"
      • 默认名称空间:namespace=""
  • abstract:声明包是抽象包

Action标签的配置

Action标签将标识符映射到处理程序类。当请求与操作名称匹配时,框架使用映射来确定如何处理请求。

action标签的常用属性

  • name:与namespace共同决定浏览器访问路径
    • 假如请求http://www.planetstruts.org/struts2-mailreader/Welcome.action将映射到Welcome类去操作
  • class:Action类的全路径
  • method:用于确定执行Action类中的某个方法,默认执行的是Action类中的execute方法
  • converter:Struts2框架中的类型转换

常量配置

Struts常量配置

查看Struts常量

/org/apache/struts2/default.properties
在这里插入图片描述

  • struts.i18n.encoding=UTF-8:Struts2框架默认编码格式是UTF-8
  • struts.action.extension=action:Struts2请求的默认扩展名

修改常量的值的方法

  • 在struts.xml中修改常量**(常用方法)**
    • 在这里插入图片描述
  • 直接修改default.properties
  • 通过web.xml修改常量

多个Struts.xml配置文件的配置

当我们有多个包的时候,不能将所有的struts配置都写在一个struts.xml文件中,这样的做法会给我们后期维护带来阻碍.对于大型应用程序,最好使用多个配置文件,以便管理应用程序

可以创建许多配置文件,但需要在struts.xml文件中定义它。struts的include子元素用于定义支持的配置文件。

在这里插入图片描述

Action的写法

Action类是一个POJO

在这里插入图片描述
维基百科对POJO的描述:

在软件工程中,普通旧Java对象(POJO)是一个普通的Java 对象,不受任何特殊限制的约束,也不需要任何类路径。该术语由Martin Fowler,Rebecca Parsons和Josh MacKenzie于2000年9月创造:[1]

“我们想知道为什么人们如此反对在他们的系统中使用常规物体,并得出结论认为这是因为简单的物体缺乏一个奇特的名字。所以我们给了他们一个,它很好地被捕获了。” [1]

术语“POJO”最初表示Java对象,它不遵循任何主要的Java对象模型,约定或框架; 现在,“POJO”也可以用作“Plain Old JavaScript Object” 的首字母缩写词,在这种情况下,该术语表示类似谱系的JavaScript对象。[2]

术语继续旧的条款对于不使用花哨的新功能,如POTS(技术型普通老式电话服务的)电话波德(普通旧文档中)的Perl。与.NET框架上的POJO相当的是Plain Old CLR Object(POCO)。[3]对于PHP,它是Plain Old PHP Object(POPO)。[4] [5]

POJO现象最有可能获得广泛接受,因为需要一个与复杂对象框架形成对比的通用且易于理解的术语

Action类实现Action接口

在这里插入图片描述

访问Action的不同方式

通过action标签的method属性访问

在这里插入图片描述
Action类中有四个不同的方法,当我们访问某个方法的时候执行某个action
在struts.xml中的使用action标签的method属性访问action

通过通配符的方式进行action的访问

在这里插入图片描述

动态访问

通过使用struts.xml的方法修改Struts配置开启动态方法访问

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

书写action标签

<action name="customer" class="test.demo3.CustomerAction"></action>

然后再JSP页面配置访问路径

	<!--前面写上Actionname的名称中间写个!,后面是方法的名称 -->
	<a href="${ pageContext.request.contextPath }/customer!find.action">查询客户</a>
	<br />
	<a href="${ pageContext.request.contextPath }/customer!update.action">修改客户</a>
	<br />
	<a href="${ pageContext.request.contextPath }/customer!delete.action">删除客户</a>
	<br />
	<a href="${ pageContext.request.contextPath }/customer!save.action">保存客户</a>

JSP页面书写方法:前面写上Actionname的名称中间写个!,后面是方法的名称
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值