您的位置:首页 > 编程语言 > Java开发

Struts2----自定义action的学习心得

2015-07-27 14:23 976 查看
Struts2----自定义action的学习心得
自定义action的三种方法
1.      new
一个普通java类,然后让这个类做一个execute()的方法,返回值为String类型的。
(返回值即是该action中result的名称)
如下:



Struts.xml:
<package name="second"extends="struts-default" namespace="/second">

<actionname="second" class="china.sum.edu.IndexAction">

<resultname="success123">/index.jsp</result>

</action>

</package>

Struts2与struts1的区别在于:struts1的action必须与具体的struts1的环境绑定的,且离不开servlet的环境。而struts2的action可以是一个普通的java
类然后包含execute()方法并返回一个String类型的值就可以了。
2.      new
一个普通java类,让这个类实现com.opensymphony.xwork2.Action接口 (即implementsAction),并实现Action中的execute的方法。(将鼠标靠近类名称,然后点击add
unimplemented method,进行实现Action中的execute的方法)



会出现:



实现的接口的方法一般是为空的,我们可以对其的返回值进行修改。
如下:(返回值即是该action中result的名称)



Struts.xml配置如下:
<package name="third"extends="struts-default" namespace="/third">

<actionname="third" class="china.sum.edu.IndexAction1">

<!-- class的内容为该action所处的包名+类名 -->

<resultname="success">/index.jsp</result>

<!-- resultname值必须为action的返回值 -->

</action>

</package>

3.  new
一个普通java类,让这个类继承com.opensymphony.xwork2.ActionSupport(即extends ActionSupport)(一般用于企业开发)
,继承之后可以使用父类的方法execute(),也可以重写父类的方法execute().



Struts.xml:

<span style="font-size:24px;"><package name="four"extends="struts-default" namespace="/four">

<action name="four"class="china.sum.edu.IndexAction2">

<!-- class的内容为该action所处的包名+类名 -->

<result name="success111">/index.jsp</result>

<!-- result name值必须为action的返回值 -->

</action>

</package>
</span>

 

我们在自定义action时,一般提倡用第三种方法,因为com.opensymphony.xwork2.ActionSupport中包含很多方法我们可以进行调用,比较方便,不容易出错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息