wildcard:通配符,它的作用就是减少冗余的的代码,给人视觉的简介,可维护性好.....但是使用wildcard前提就是一个好的项目约定规范!至于如何制作项目约定规范,慢慢的项目积累!
通配符项目:从jsp开始看:
<a href="<%=context %>/user/User_add">增加学生</a>
<a href="<%=context %>/user/User_del">刪除学生</a>
<a href="<%=context %>/user/User_update">修改学生</a>
<a href="<%=context %>/user/User_sel">查看学生</a>
这些请求很相似,仅仅是“_”后不一样而已,我们传入给struts.xml:
看下struts.xml:
<package name="user" extends="struts-default" namespace="/user" >
<action name="*_*" class="cn.keith.wildCard.{1}WildcardActioin" method="{2}">
<result>/{1}_{2}.jsp</result>
</action>
</package>
主要是<action>里! name="*_*" 这里就是通过“*”号对请求进行匹配,class里的{1}WildcardActioin这里的{1}就会截取请求中“_”前,method="{2}":我的理解就是通过“_”有2个地方需要进行匹配(不太懂太专业的词汇),而你的action里面的方法也应和请求相匹配!比如我的方法就叫add(),del(),sel(),update()!
而返回的页面也会去检查请求中的“_”前后字符串!
这时你的 Action和返回的页面就必须得喝请求中的“_”前后一样!
比如这个项目中的action是:UserWildcardAction.java,
jsp是:User_add.jsp,User_del.jsp,User_sel.jsp,User_update.jsp!
记住,通配符使用不难,难于设计规范!