简单介绍一下struts2 的一些技术小结:
1.由struts1到struts2的一个过度,可能有的人不太适应struts2的***.action,早已习惯了struts1的xxx.do。
这个问题不难解决,只要大家在自己的src下面新建一个struts.properties文件,然后在里面写下如下代码:
struts.action.extension=do
这样就ok了,当然这个地方值do也可以改成你喜欢的任何一个值。
2.解决页面重复提交的问题,同样我们涉及到的也是在struts.properties文件,只要我们在这个文件里面写上:
struts.serve.static.browserCache=false
解决这个问题这一句一定要写,因为它的默认值是true。
3.struts2中,请求action方法的动态调用,下面我们都以.do的请求为例:
a)struts.xml的设置如下:
<action name="dynamic" class="actions.DynamicMethodAction"> <result name="success">/dynamic.html</result> </action>
而在页面里面我们设置成:
<a href="dynamic!delete.do">请求delete方法</a><br> <a href="dynamic!update.do">请求update方法</a><br> <a href="dynamic!insert.do">请求insert方法</a><br>
则会在我们请求dynamic action的时候分别动态调用actions.DynamicMethodAction里面的delete方法,update方法,insert方法。
b)struts.xml的内容如下:
<action name="dynamic1" method="delete" class="actions.DynamicMethodAction"> <result name="success">/dynamic.html</result> </action>
页面里面我们可以直接写:
<a href="dynamic1.do">请求方法</a>
则会在我们请求dynamic1.do的时候调用此对应action的delete方法。
3)struts.xml的内容设置如下:
<action name="dynamic2_*" method="{1}" class="actions.DynamicMethodAction"> <result name="success">/dynamic.html</result> </action>
页面我们可以写成这样:
<a href="dynamic2_delete.do">请求delete方法</a><br> <a href="dynamic2_update.do">请求update方法</a><br> <a href="dynamic2_insert.do">请求insert方法</a><br>
则我们在请求dynamic2_delete.do的时候,此次调用的是actions.DynamicMethodAction的delete方法。
以此类推....。
4)我们来一个更绝的,见struts.xml配置:
<action name="*—*" method="{2}" class="actions.{1}Action"> <result name="success">/dynamic.html</result> </action>
好了,先简单介绍这几个方面吧,以后会陆续更新。