Struts 中的一个action 包含多个请求

来源:互联网 发布:制作工作牌软件 编辑:程序博客网 时间:2024/06/05 09:28

Struts 中的映射方法有很多,下面举例


1,一个action中只有一个方法execute时,普通的配置文件

<action name="LoginAction" class="action.LoginAction"></action>

2.一个action中有多个方法 (静态)

<action name="input" class="com.login.action.Login" method="input"><result name="input">/login.jsp</result></action>

请求名为input 对应  com.login.action.Login 中的input方法 ,这就需要你为这个action中的所有方法都写对用的action配置文件了。

3,一个action中有多个方法 (动态)

表单元素的action不直接等于某个Action的名字,而是以如下形式来指定对应的动作名: 
<form method="post" action="userOpt!login.action">  

则用户的请求将提交到名为”userOpt”的Action实例,Action实例将调用名为”login”方法来处理请求。同时login方法的签名也是跟execute()一样,即为public String login() throws Exception。 
注意:要使用动态方法调用,必须设置Struts2允许动态方法调用,通过设置struts.enable.DynamicMethodInvocation常量来完成,该常量属性的默认值是true

4.一个action中有多个方法 ( 通配符)

<action name="user_*" class="org.qiujy.web.struts2.action.UserAction" method="{1}"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result></action>


<action name=”user_*”>定义一系列请求URL是user_*.action模式的逻辑Action。同时method属性值为一个表达式{1},表示它的值是name属性值中第一个*的值。

0 0
原创粉丝点击