struts2实现改变超链接的显示方式

时间:2023-12-11 22:01:20

问题来源:我们看别人家专业的网站的时候,会发现他们的超链接都是这样的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了

 <package name="demo" extends="struts-default" namespace="/p">
<action name="*" class="com.TestAction" method="execute">
<result>/WEB-INF/pages/demo.jsp</result>
</action>
</package>

然后在你的action类里面用ActionContext.getContext().getName()获取到action的名字就是参数

接下来用这个参数干什么事就是你自己的事了