zoukankan      html  css  js  c++  java
  • Struts(八):动态方法调用

    动态方法调用:通过url动态调用action中的方法。

    默认情况下,Struts的动态方法调用处于禁用状态。

    测试定义一个action类:

     1 package com.dx.actions;
     2 
     3 public class DynamicAction {
     4     public String index(){
     5         System.out.println("index method");
     6         return "success";
     7     }
     8     
     9     public String save1(){
    10         System.out.println("save1 method11");
    11         return "success";
    12     }
    13 }

    修改配置struts.xml

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     4     "http://struts.apache.org/dtds/struts-2.3.dtd">
     5 
     6 <struts>
     7 
     8     <constant name="struts.enable.DynamicMethodInvocation" value="true" />
     9     <constant name="struts.devMode" value="false" />
    10 
    11     <package name="default" namespace="/" extends="struts-default">      
    12         <action name="dynamicTest" class="com.dx.actions.DynamicAction" method="index">
    13             <result name="success">/WEB-INF/test.jsp</result>
    14         </action>
    18     </package>
    19 
    20 
    21 </struts>

    添加测试页面index.jsp

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     4 <html>
     5 <head>
     6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     7 <title>Insert title here</title>
     8 </head>
     9 <body>
    10 <a href="dynamicTest.action">test</a><br/>
    11 <a href="dynamicTest!save1.action">test2</a>
    12 </body>
    13 </html>

    点击链接后,发现两个方法都可以被调用,尽管我们没有定义save方法为一个action在struts.xml中。

    注意:

    及时定义了save的action节点

    1 <action name="saveTest" class="com.dx.actions.DynamicAction" method="save1">
    2             <result name="success">/WEB-INF/tes25t.jsp</result>
    3         </action>

    ,通过

    <a href="dynamicTest!save1.action">test2</a>

    调用,也不会跳转到指定的页面。而是跳转到了test.jsp页面,比较奇怪。

  • 相关阅读:
    elk 介绍与logstash插件
    es 中文分词器IK
    Swift编译慢?请看这里,全套开源
    你与 “顶级iOS工程师” 距离有多远?
    iOS工程师如何在工作中提升自己?
    iOS技术人的出路在哪里,35岁被优化吗?
    菜鸟摇身变大牛
    iOS-MobLink集成流程
    iOS进阶之页面性能优化
    从零讲解 iOS OpenGL ES 的纹理渲染 原来是泽镜啊
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/5686172.html
Copyright © 2011-2022 走看看