Struts –通配符示例

下载此示例– Struts-Wildcards-Example.zip

只要您的Struts项目遵循某种常规文件结构,Struts通配符就可以帮助减少struts-config.xml文件中的重复。 例如,在用户模块中,要实现CRUD功能,您的struts-config.xml可能如下所示

1.没有通配符

您需要为每个列表创建四个动作映射,添加,删除和更新功能,以及大量重复。

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
 
<struts-config>
	
	<action-mappings>

	 	<action
			path="/ListUserAction"
			type="com.mkyong.common.action.UserAction"
			parameter="ListUser"
			>
 
			<forward name="success" path="/pages/ListUser.jsp"/>
 
		</action>
		
		<action
			path="/AddUserAction"
			type="com.mkyong.common.action.UserAction"
			parameter="AddUser"
			>
 
			<forward name="success" path="/pages/AddUser.jsp"/>
 
		</action>
		
		<action
			path="/EditUserAction"
			type="com.mkyong.common.action.UserAction"
			parameter="EditUser"
			>
 
			<forward name="success" path="/pages/EditUser.jsp"/>
 
		</action>
		
		<action
			path="/DeleteUserAction"
			type="com.mkyong.common.action.UserAction"
			parameter="DeleteUser"
			>
 
			<forward name="success" path="/pages/DeleteUser.jsp"/>
 
		</action>
		
		
	</action-mappings>
	
</struts-config>

2.带通配符

使用Struts通配符功能,您的struts-config.xml可以简化为一个动作映射。

struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
 
<struts-config>
	
	<action-mappings>

	 	<action
			path="/*UserAction"
			type="com.mkyong.common.action.UserAction"
			parameter="{1}User"
			>
 
			<forward name="success" path="/pages/{1}User.jsp"/>
 
		</action>

	</action-mappings>
	
</struts-config>

让我们看一个用例,尝试通过http:// localhost:8080 / StrutsExample / EditUserAction.do进行访问 。 “ EditUserAction.do ”将匹配“ / * UserAction ”模式,并且*匹配的字符串“ Edit ”由{1}表示,以备后用。

在上述情况下,通配符操作映射将从

<action
		path="/*UserAction"
		type="com.mkyong.common.action.UserAction"
		parameter="{1}User"
	>
 
	<forward name="success" path="/pages/{1}User.jsp"/>
 
	</action>

<action
		path="/EditUserAction"
		type="com.mkyong.common.action.UserAction"
		parameter="EditUser"
	>
 
	<forward name="success" path="/pages/EditUser.jsp"/>
 
	</action>

结论

两个struts-config.xml示例都具有相同的功能,但是通配符支持的重复次数较少。 但是,请不要在项目中过度使用此通配符功能,因为它比常规声明更难管理。

翻译自: https://mkyong.com/struts/struts-wildcards-example/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值