struts2动态方法调用

上一篇:struct2 核心文件

struts2动态方法调用

method属性

  1. 在struts.xml文件中的配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
   <package name="default"  extends="struts-default">
           <action name="login_add" class="action.HelloWorldAction" method="add"> 
               <result name="add">/add.jsp</result>
           </action>
           <action name="login_delete" class="action.HelloWorldAction" method="delete"> 
               <result name="delete">/delete.jsp</result>
           </action>
   </package>
</struts>    
  1. 在src/action建立java类HelloWorldAction
package action;

import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport{
    public String add(){
        return "add";
    }
    public String delete(){
        return "delete";
    }
    @Override
    public String execute() throws Exception{
        // TODO Auto-generated method stub
        System.out.println("执行Action");
        return "success";
    }
}

3.在webRoot下建立两个页面:

  • add.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
       add<br>
  </body>
</html>
  • delete.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
  <body>
       delete<br>
  </body>
</html>
  1. 发布tomcat,输入地址http://localhost:8080/test/login_delete.action
    http://localhost:8080/test/login_add.action检验

感叹号方式(不推荐)

在方式下实现动态加载需要加上:
<constant name="structs.enable.DynamicMethodInvocation" value="true"/>

  1. 修改struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
   <constant name="structs.enable.DynamicMethodInvocation" value="true"/>
   <package name="default"  extends="struts-default">
           <action name="login" class="action.HelloWorldAction" > 
               <result name="add">/add.jsp</result>
               <result name="delete">/delete.jsp</result>
           </action>
   </package>
</struts>    
  1. 键入地址 http://localhost:8080/test/login!add.action
    http://localhost:8080/test/login!delete.action进行检验

通配符方式

  1. 修改struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
   <package name="default"  extends="struts-default">
           <action name="login_*" class="action.HelloWorldAction" method="{1}"> 
               <result name="add">/add.jsp</result>
               <result name="delete">/delete.jsp</result>
           </action>
   </package>
</struts>    
  1. 部署tomcat服务器,地址栏输入http://localhost:8080/test/login_add.action
    http://localhost:8080/test/login_delete.action
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 对于java中的思考的方向,1必须要看前端的页面,对于前端的页面基本的逻辑,如果能理解最好,不理解也要知道几点。 ...
    神尤鲁道夫阅读 891评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,313评论 19 139
  • 1、简述rpm与yum命令的常见选项,并举例 rpm命令 rpm -i 安装某个程序包 rpm -v 显示过程 r...
    whamai阅读 520评论 0 1
  • 上个月终于把摩洛哥的十二篇游记攻略完成,本以为可以轻松一下。可是这几天很多朋友又来询问去摩洛哥旅行如何带衣服,才能...
    陈旖璇阅读 14,650评论 1 4
  • 红楼里的酒令各式各样,品类繁多。这些酒令不仅仅是红楼宴会的点缀,在某些程度上,它们也被赋予了隐含的含义,第四十回《...
    墨絮离微洛阅读 1,488评论 0 3

友情链接更多精彩内容