struts2学习笔记(2)action多个方法的动态调用
①在struts.xml中的action添加method
<action name="addhelloworld" method="add" class="com.lzhc.action.HelloWorldAction">
<result>/add.jsp</result>
</action>
在src中的com.lzhc.action包下的HelloWorldAction中添加add方法如下
public class HelloWorldAction extends ActionSupport {
public String add(){
return SUCCESS;
}
public String update(){
return SUCCESS;
}
@Override
public String execute() throws Exception {
System.out.println("execute!");
return SUCCESS;
}
}
即在函数中包含多个方法时,可以分别用method引用。由于每个方法都需要改写一个对应的配置文件,比较繁琐
②用感叹号的方法
在struts.xml中添加以下代码
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
在action中即可添加任意方法,如:
<action name="helloworld" class="com.lzhc.action.HelloWorldAction">
<result>/result.jsp</result>
<result name="add">/add.jsp</result>
<result name="update">/update.jsp</result>
</action>
在src中的com.lzhc.action包下的函数HelloWorldAction中添加以下方法:
public String add(){
return "add";
}
public String update(){
return "update";
}
再在webroot下添加add.jsp和update.jsp两个jsp文件,此时若要访问add方法,只需将地址写为:
http://localhost:8080/test/helloworld!add.action
③最为常用的是通配符的方式
优点:只用配置一次struts.xml,只要按约定命名,就无需再改动
<action name="helloworld_*" class="com.lzhc.action.HelloWorldAction" method="{1}">
<result name="add">/{1}.jsp</result>
<result name="update">/{1}.jsp</result>
</action>
*可任意匹配,{1}为方法名
访问页面为http://localhost:8080/test/helloworld_add.action
或直接写成:
<action name="*_*" class="com.lzhc.action.{1}Action" method="{2}">
<result name="add">/{2}.jsp</result>
<result name="update">/{2}.jsp</result>
</action>
此时访问网页为http://localhost:8080/test/HelloWorld_add.action
即http://localhost:8080/文件名/{1}_{2}.action
struts2学习笔记(2)action多个方法的动态调用的更多相关文章
- struts2学习笔记之八:Action中方法的动态调用
方法一:action名称+!+方法名称+后缀 Action类中增加addUser()和delUser()方法, package com.djoker.struts2; import org.apach ...
- Struts2学习笔记(六)——Action处理请求参数
在struts2框架中关于Action处理请求参数有两种方案(三个方式),表单属性的名称应该和在Action类中定义的成员属性或者在JavaBean中定义的成员属性名称一样: 1.属性驱动 1)直接在 ...
- Struts2学习笔记(三)——Action详解
Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单 ...
- Struts2学习笔记(五)——Action访问Servlet API
在Strut2中访问Servlet API有三种方式: 1.通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API. 步骤: 1 ...
- Struts2 学习笔记(概述)
Struts2 学习笔记 2015年3月7日11:02:55 MVC思想 Strust2的MVC对应关系如下: 在MVC三个模块当中,struts2对应关系如下: Model: 负责封装应用的状态,并 ...
- Struts2学习笔记⑧
今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...
- Struts2学习笔记①
Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...
- Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)
Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...
- 前端学习笔记汇总(之merge方法)
学习笔记 关于Jquery的merge方法 话不多说,先上图 使用jquery时,其智能提示如上,大概意思就是合并first和second两个数组,得到的结果是first+(second去重后的结果) ...
随机推荐
- linux防火墙开关
对于普通Linux机器开关防火墙命令: 1重启后生效 chkconfig iptables off chkconfig iptables on 2即时生效 serivce iptables statu ...
- 08-THREE.JS 点面创建物体,克隆物体,多材质物体
<!DOCTYPE html> <html> <head> <title></title> < <script src=&quo ...
- hadoop2.5.2 安装与部署
主从机构 主:jobtracker 从:tasktracker 四个阶段 1. split 2. Mapper: key-value(对象) 3. shuffle a) 分区(partition,H ...
- JavaScript--收藏栏添加按钮,放大hdu题目字体
觉得HDOJ的题目字体太小了,一波小操作 在收藏栏添加:添加网页->网址改为: javascript: void((function() { var element = document.get ...
- SQL使用指南(2)—— 约束的使用
主键约束 (1)创建表时添加主键约束 primary key<column_name> (2) 修改表时添加主键约束 ALTER TABLE table_name ADD CONSTRAI ...
- UVA 11605 Lights inside a 3d Grid
#include <iostream> #include <stdio.h> #include <cstring> #include <math.h> ...
- HDU - 2294: Pendant(矩阵优化DP&前缀和)
On Saint Valentine's Day, Alex imagined to present a special pendant to his girl friend made by K ki ...
- [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- [转]css讲解 font-weight:bold和bolder区别
font-weight 字体浓淡(精细)属性 该CSS属性用来设定字体的浓淡程度. 值:normal | bold | bolder | lighter | 100 | 200 | 300 | 400 ...
- maven用途、核心概念、用法、常用参数和命令、扩展
设置问题解决. http://trinea.iteye.com/blog/1290898 本文由浅入深,主要介绍maven的用途.核心概念(Pom.Repositories.Artifact.Buil ...