Action相关知识

配置Action  struts.xml 配置

<package>下的<action>

struts2核心组件就是Action 拦截器等

package的name属性是引用这个包的唯一标识

extends 属性 可选   继承另一个package的name属性

抽象package  abstract属性="true"   不能包含action定义

namespace  可选属性  命名空间


Action动态方法调用

表单元素的action并不是直接等于某个action的名字

action属性为actionName!methodName  某个action的指定方法

<input type="submit" value="注册” onclick=“regist();"/>

function regist(){

    targetForm=document.forms[0];

    targetForm.action="login!regist";

}

LoginAction里的regist方法


Struts2 动态方法调用

js方法

<script type="text/javascript">

  function regist(){

   targetForm=document.forms[0];

   targetForm.action="login!regist";

  }

 </script>

开启动态调用

<constant name="struts.enable.DynamicMethodInvocation" value="true" /> 


或者 指定action的调用方法

<action name="regist" class="com.demo.action.LoginAction" method="regist">

   <result name="input">/login.jsp</result>

   <result name="error">/error.jsp</result>

   <result name="success">/welcome.jsp</result>

  </action>


通配符方式 *Action      

XXXAction

method={1}; ---------{N}表达式

调用路径为xxxAction

class=“xxx.{1}action”;  


*_* 来定义name   method="{2}"   class="xxx.{1}";  Action类_方法


matchSequece  action 匹配顺序

第一个匹配完全符合的非模糊匹配action  绝对相同的Action

其次,默认为struts.xml 匹配的第一个action


配置默认Action

name="*"

配置默认Action 

<default-action-ref name="xxxAction"/>

<action name="xxxAction" class="xxx">

</action



你可能感兴趣的:(Action相关知识)