<struts> <package namespace="/" extends="struts-default" name="test" > <action name="test_*" class="com.test.action.Test" method="{1}"> <result name="{1}">views/test_{1}.jsp</result> </action> </package> </struts>
先解释一下上面绿标的代码
1) test_*:中*代表访问地址可以为test_world,test_hello或test_#等但是不能用 / 和 . 其中#号访问的是execute()
2) method="{1}:中{1}表示从地址栏获取到的访问路径
比如:输入地址为 http://localhost:8080/testStruts2/test_save 那么{1}的值为save
以此类推其余的{1}的参数
name="{1}"等于name="save"
views/test_{1}.jsp等于 views/test_save.jsp
解释清楚接下来就容易理解了
先看目录结构:
jsp统一<body>这是XXXX.jsp</body>
再看访问效果
地址:http://localhost:8080/testStruts2/test_save
结果:這是test_save.jsp
地址:http://localhost:8080/testStruts2/test_update
结果:這是test_update.jsp
地址:http://localhost:8080/testStruts2/test_delete
结果:這是test_delete.jsp
总结:命名约束好可以用一下 减少配置 提高效率
上述*可以多个*_*_*获取{1}_{2}_{3} 获取是从一开始