问题来源:我们看别人家专业的网站的时候,会发现他们的超链接都是这样的http://www.cnblogs.com/ivictor/p/5522383.html
这是一个连接到某一篇文章的超链接,我们一般会想到,请求某一个东西,需要带参数的呀,可是这条连接没有参数!
细心的话不难看出,5522383.html这个就是文章的id,有人说这不可呢是参数,因为它看起来像一个html页面,因为有html后缀呀!...
可是再想想,整个网站那么多篇文章,并且这个html名字里面的数字也不一样,难道是一篇文章一个html文件吗?只有傻子才会这么想。
所以它就是一个参数,二前面的那个p才是请求,之所以加了一个.html是为了迷惑你。
可是我们会写http://www.cnblogs.com/ivictor/p?id=5522383这样的,那么他这样的是怎样实现的呢?
我们知道struts2有个配置文件,里面有个package标签,还有一个action标签
只要把namespace设置成/p,把action的name设置成*就ok了
1 <package name="demo" extends="struts-default" namespace="/p"> 2 <action name="*" class="com.TestAction" method="execute"> 3 <result>/WEB-INF/pages/demo.jsp</result> 4 </action> 5 </package>
然后在你的action类里面用ActionContext.getContext().getName()获取到action的名字就是参数
接下来用这个参数干什么事就是你自己的事了