Struts2 方法动态调用,验证表签,xml配置Action

Action方法的动态调用

-使用动态调用必须,在src下的struts中写入

 <!-- 让struts2支持动态方法调用 附加 2.3.3 默认关闭-->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />

动态调用的语法

  • action名!方法名.action
    • 案例:
    • user!login.action 调用名字为user的action下面的login方法
  • 通配符{*}形式的动态调用
<action name= "*User"   method=”{1}”
  <result>{1}_success.jsp</result>
</action>  
  • 举例:
  • loginUser.action 调用名字为user的action下面的login方法

验证标签

  • 使用,验证标签,故此必须,现在web.xml中过滤所有的jsp
<!-- 配置Struts2 的过滤器 -->
    <filter>
     <filter-name>strut2t</filter-name>
     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>

    <!-- Struts2 的映射,让所有的action 都通过 struts2 的过滤器 -->
  <filter-mapping>
     <filter-name>strut2t</filter-name>
     <url-pattern>*.action</url-pattern>
  </filter-mapping>

  <!-- 映射 所有的jsp页面 -->
  <filter-mapping>
     <filter-name>strut2t</filter-name>
     <url-pattern>*.jsp</url-pattern>
  </filter-mapping>

验证标签


使用xml配置Action

  • 在web.xml中配置Struts2的核心过滤器,就是上面的代码
  • 建立一个类继承ActionSupport使其成为一个Action
  • 在Action中,编写方法
 // 如果,你不写其他方法,也可以重写,这个父接口的方法
//  @Override
//  public String execute() throws Exception {
//      System.out.println("zhixng");
//      
//      return Action.SUCCESS;
//  }

    //登录
    public String Login()throws Exception {
        System.out.println("登录"+this.use.getL_name());
          //代码内容
        return Action.SUCCESS;
         //返回字符串,用来映射,调用那个结果,可以使用Struts2的常量
    }

  • 在src下的struts.xml内配置Action
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

  <!-- 让struts2支持动态方法调用 附加 2.3.3 默认关闭-->
  <constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!--建立packge 标签  继续继承 struts-default这个xml  指定工作区间-->
  <package name="sd" extends="struts-default" namespace="/">
      <action name="Action名字(自定,类似javascript中id的作用)" class="这个Action的全限定名(类名加包名)" >
         <!-- action  执行方法 返回结果, 返回的字符串,然后匹配对应的返回结果 -->
         <result name="success">succeed.jsp</result>
         <result name="input">NewFile.jsp</result>
         <result name="defeated">defeated.jsp</result>
      </action>
  </package>

</struts>    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值