文档章节

struts2动态方法调用

 南桥北木
发布于 2017/02/13 20:32
字数 211
阅读 3
收藏 0

Struts2的动态方法调用

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" namespace="/" extends="struts-default">

   <action name="helloword" class="hello.com.HelloWord" method="execute">

     <result>/hello.jsp</result>

   </action>

   <action name="addaction" class="hello.com.HelloWord" method="add">

     <result>/add.jsp</result>

   </action>

   <action name="updateaction" class="hello.com.HelloWord" method="update">

     <result>/update.jsp</result>

   </action>

</package>

</struts>

2.HelloWord.java

package hello.com;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWord extends ActionSupport {

public String execute() throws Exception {

	System.out.println("zheixing");

	return SUCCESS;
}

public String add(){

	return SUCCESS;
	
}

public String update(){

	return SUCCESS;
}

}

2 !方式

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" namespace="/" extends="struts-default">

   <action name="helloword" class="hello.com.HelloWord">

     <result>/hello.jsp</result>

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

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

     </action>

</package>

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

</struts>

2 HelloWord.java

package hello.com;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWord extends ActionSupport { public String execute() throws Exception {

	System.out.println("zheixing");

	return SUCCESS;

}

public String add(){

	return "add";
	
}

public String update(){

	return "update";
}

}

3 struts2通配符调用方法

<?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" namespace="/" extends="struts-default">

   <action name="helloword_*" class="hello.com.HelloWord" method="{1}">

     <result>/hello.jsp</result>

     <result name="add">/{1}.jsp</result>

     <result name="update">/{1}.jsp</result>

     </action>

</package>

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

</struts>

在url输入:helloword_update.action即可

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 187
码字总数 33380
作品 0
武汉
私信 提问
Apache Struts 2 远程命令执行漏洞,你受到影响了?

Apache Struts 2 漏洞又来了...看看你所在的企业是否受到影响? 乌云导读 Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,漏洞利用代码已经开始流传。 今日Apache St...

oschina
2016/04/26
13.8K
21
struts2基于动态代理的Interceptor

struts2核心功能都是基于struts2拦截器的,而拦截器又是基于java的动态代理。 要实现struts2拦截器,需在struts.xml中配置拦截器,每个action可以指定拦截器,指定了拦截器之后默认的拦截器链...

cjun1990
2015/10/23
1K
0
struts2 spring hibernate 原理

近期换了家公司,这家公司用的是最传统的SSH。刚开始工作的时候没注意三大框架的一些原理,今天自己谈谈看, 1、struts2 struts2是基于filter的,但同样也需要servlet的支持。一个请求被过滤...

tiger1986
2013/10/20
0
0
Java程序员从笨鸟到菜鸟之(四十六)细谈struts2(八)拦截器的实现原理及源码剖析

本文来自:曹胜欢博客专栏。转载请注明出处:http://blog.csdn.net/csh624366188 拦截器(interceptor)是Struts2最强大的特性之一,也可以说是struts2的核心,拦截器可以让你在Action和res...

长平狐
2012/11/12
49
0
struts.enable.DynamicMethodInvocation疑惑

Struts2中有个比较让我疑惑的地方,就是这个常量的设置struts.enable.DynamicMethodInvocation,其含义是动态方法调用,我一直以为只有将将常量的值设为true,才能通过login!checkLogin.acti...

joyvag
2011/11/29
4.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

NEO 节点介绍

全节点(full nodes)是存储 NEO 区块链全部数据的节点,通过 P2P 的方式与区块链网络连接,在区块链网络中,所有的全节点都是平等的,既充当客户端又充当服务器。 NEO 有两个全节点程序: ...

NEO-FANS
2分钟前
0
0
内网穿透大杀器--EarthWorm

0x00 前言 如果感觉本文对你有帮助,请在文章末尾点个赞,谢谢表哥们支持! 当你在内网渗透,并且拿下一台机器的权限时,你是不是觉得已经算是一次完整的渗透了? 不来一次内网漫游,渗透是不...

刀剑如梦
7分钟前
0
0
PiggyMetrics分布式框架

https://github.com/sqshq/PiggyMetrics

丁建祥
8分钟前
0
0
零距离接触阿里云时序时空数据库TSDB

概述 最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增。 阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空...

阿里云云栖社区
17分钟前
0
0
OkHttpClient封装

import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Map; import java.util.TreeMap; import java.util.Map.Entry; import o......

尘叙缘
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部