• java strtus2 DynamicMethodInvocation配置(二)


    前面一章讲了下动态配置的方法。那样,能够直接动态的调用action里面的方法,

    这里展示一种配置更少,更简洁的一种方法。

    在前一章其他不变的情况下,改变配置文件

        <package name="Menu" namespace="/Menu" extends="struts-default">
           <action name="*" class="com.almostman.action.{1}Action" >
             <result name="success">/success.jsp</result>
             <result name="input">/input.jsp</result>
           </action>
        </package>

    这里的 “*” 表示你输入的内容,{1}表示第一个*的内容,这里具体调用的method不用去指定,因为用了动态调用,方法可以直接通过 “!”去调用。

    MainPageAction.java
    package com.almostman.action;
    
    import org.apache.struts2.convention.annotation.Action;
    import org.apache.struts2.convention.annotation.Namespace;
    import org.apache.struts2.convention.annotation.ParentPackage;
    import org.apache.struts2.convention.annotation.Result;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class MainPageAction extends ActionSupport{
    
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
    
        @Override
        public String execute() throws Exception {
            
            if("admin".equals(username) && "admin".equals(password)){
                return SUCCESS;
            }
            
            return INPUT;
        }
        
        public String init() throws Exception {
            
            if("admin".equals(username) && "admin".equals(password)){
                return SUCCESS;
            }
            
            return INPUT;
        }
        public String add() throws Exception {
            
            if("admin".equals(username) && "admin".equals(password)){
                return SUCCESS;
            }
            
            return INPUT;
        }
        
        private String username;
        private String password;
        
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    }

    这里的调用URl是

    http://localhost:8081/struts013/Menu/MainPage!init.action?username=admin&password=admin

    通过Action名和方法直接进行了访问,甚至返回都可以用通配符固定返回的页面也和调用的一样,这样名字都不用去想不同的。

    源码:http://pan.baidu.com/s/1kULwCIj

  • 相关阅读:
    HTML网页背景图很长要有滚动条滑动
    CentOS 6.6下安装配置Tomcat环境
    centos安装jdk1.7.80的rpm包
    vmware12共享windows的文件给虚拟的linux
    Oracle jdk 历史版本官方下载地址及下载方法
    CentOS所有版本下载地址分享
    为什么说docker可以保护Nginx、Tomcat、Mysql呢?
    Linux下安装Nginx依赖包和Nginx的命令
    Nginx的启动、停止、重启
    nginx无法启动: libpcre.so.1/libpcre.so.0: cannot open shared object file解决办法
  • 原文地址:https://www.cnblogs.com/sunxun/p/5388169.html
Copyright © 2020-2023  润新知