• Struts – Wildcards example


    Struts wildcards can helps to reduce the repetition in your struts-config.xml file, as long as your Struts project is following some regular file structure. For example, in User module, to implement the CRUD function, your struts-config.xml may look like following

    1. No Wildcards

    You need to create four action mappings for each list, add, delete and update function, and a lot of repetition.

    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. With Wildcards

    With Struts wildcards feature, your struts-config.xml can cut down into one action mapping.

    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>
    

    Let’s see an use case, try access via http://localhost:8080/StrutsExample/EditUserAction.do. The “EditUserAction.do” will match the “/*UserAction” pattern, and the * matched string “Edit” is represent by {1} for later use.

    In above case, the wildcards action mapping will change from

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

    to

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

    Conclusion

    Both struts-config.xml samples have the same functionality, but with less repetition in wildcards support. However, DO NOT overuse this wildcards feature in your project, it’s less manageable than the normal declaration.

  • 相关阅读:
    WebBrowser获取完整COOKIE
    验证码
    fee photo
    net reactor加密源码保软件安全-net reactor使用教程
    C#支付宝多次回调问题
    C# 获取程序运行目录
    2DToolkit官方文档中文版打地鼠教程
    Unity开发Oculus游戏
    游戏Demo(持续更新中...)
    使用Slua框架开发Unity项目的重要步骤
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4766276.html
Copyright © 2020-2023  润新知