1、准备工作

新建一个JavaWeb项目HelloWord,导入Struts2的.jar包,在Web.xml下配置Struts2的监听,在src下添加Struts2的配置文件struts.xml;将该项目部署到服务器(Tomcat)上,运行检查项目是否部署成功和其他错误!确定一切都正常后,接下来开始编写代码!

2、第一种配置方式

新建一包:com.cqxs.action

新建一个Action类:UserAction,代码如下:

public class UserAction extends ActionSupport{

public String add(){

return SUCCESS;//继承自ActionSupport,这里可直接使用它的参数SUCCESS

}

}

编写配置文件:

<action name="user" class="com.cqxs.action.UserAction" method="add">

<result>/User_add_success.jsp</result>

</action>

index.jsp页面:

< a href=”user!add”>添加帐号</a>

注意:由上可知,如果此时我们的UserAction里面有100个方法,那么很自然的我们将会在sturts.xml中配置100个<action name=”” class=”” method=””/>的配置,大量的配置会花去我们很多的时间,所以能否简化该配置呢?

3、第二种配置方式:

此时仍然采用上面的包和Action类,配置文件如下:

<action name="User*" class="com.cqxs.action.UserAction" method="*">

<result>/{1}success.jsp</result>

</action>

注意:仔细查看该配置文件,你是否发现(*表示所有),此时如果UserAction里面有100个方法,那么我们只需要配置一次就足够了,所以相对于第一种配置方式,在一个大型的项目开发中,我们理所当然的节约了大量的时间,但此时新的问题又出现了,如果我们有100个甚至更多的Action类,那么麻烦又来了,我们仍然得花大量的时间在配置上。

4、第三种配置方式:

此时仍然采用上面的包和Action类,配置如下:

<action name="*_*" class="com.cqxs.action.{1}Action" method="{2}">       <result>/{1}_{2}_success.jsp</result>

</action>

注意:此时我们再来看该配置文件,是否解决了我们上面两种配置的弊端呢?答案是肯定的啦!此时如果我们再新建一个PersonAction,里面仍然有大量的方法,代码如下:

package com.cqxs.action;

import com.opensymphony.xwork2.ActionSupport;

public class PersonAction extends ActionSupport{

public String add(){

return SUCCESS;

}

public String delete(){

return SUCCESS;

}

public String update(){

return SUCCESS;

}

public String find(){

return SUCCESS;

}

}

注意:此时我们发现,我们的配置文件却没有做任何的改动,仍然采用的是当前的配置文件。

注意:故在项目开发之前,约定规则的好与否,对项目开发的效率有很大的影响,即约定优于配置。配置文件不在根目录下可以类比!

Struts2中通配符的使用的更多相关文章

  1. Struts2中通配符

    1.Struts2中通配符可通过请求的url路径来确定包.类.方法.返回值名. 如 <action name="*_*_*_*" class="cn.javass. ...

  2. Struts2中动态方法的调用

    Struts2中动态方法调用就是为了解决一个action对应多个请求的处理,以免action太多. 主要有一下三种方法:指定method属性.感叹号方式和通配符方式.推荐使用第三种方式. 1.指定me ...

  3. Struts2中重定向和请求转发配置

    struts2中默认跳转为dispatcher请求转发 只能往jsp转发,跳转action报404 重定向 设置为redirect ,可以是jsp也可以是action <!--同一个包下的act ...

  4. struts2中struts.xml配置文件详解【未整理】

    1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管 ...

  5. Struts2中的ActionContext、OGNL及EL的使用

    文章分类:Java编程 本文基于struts2.1.8.1,xwork2.1.6 1.EL         EL(Expression Language)源于jsp页面标签jstl,后来被jsp2.0 ...

  6. struts2中各种值栈问题

    struts2中OGNL和 ValueStack(一) 收藏 学习的时候,总分不清楚在struts2中页面的传值和取值是怎么来完成的,所以从网上搜了很多资料,现在把这些资料总结写,留着以后参考..看完 ...

  7. Struts2笔记——通配符和动态方法调用

     通配符映射 * 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 * 通配符映射规则     > 若 ...

  8. Struts2中的链接标签 <s:url>和<s:a>---在action中获取jsp表单提交的参数(转)

    转自:http://sgl124764903.iteye.com/blog/444183 1.普通链接 Web程序中最普通的应用是链接到其他页面,下面看Welcome.jsp. <%@ page ...

  9. Struts2的通配符配置方式

    Struts2的Action类很有意思,你可以使用3种方式来实现具体的Action类: 让你的Action类继承自ActionSupport类(项目中最常用这种方式,因为ActionSupport类中 ...

随机推荐

  1. linux中的服务

    一.服务分类 独立的服务比如像httpd服务,用户可以直接来访问.并且独立服务常驻内存.而xinetd服务是一个服务管理器,它是常驻内存的,它下面有很多子服务,但这些子服务并不长驻内存.当用户想要使用 ...

  2. gradle构建android项目

    工具: Android Studio2.0 gradle-2.10 一.Android常识 在做Android开发的时候我们首先必须要有一个SDK.一般SDK的主要作用就是将硬件和软件进行分离,做软件 ...

  3. javascript基础知识拾遗

    1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console ...

  4. 解决HTML5布局,兼容IE问题

    当我们使用h5的新标签,header,footer,aside,section,article...时,会遇到低版本IE不兼容问题,如下图: 解决方案:引入如下JS代码,即可 (这里我就直接放源码了, ...

  5. 在cmd中运行带包名的java程序

    例: 在 d 盘中的 zh.java 文件,zh.java文件中有package com.fanShe.....; 则命令是  javac -d . zh.java 要在中间加入 -d . 后面运行的 ...

  6. 在CentOS7上安装RabbitMQ

    安装过程参考官网: Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE) 首先需要安装erlang,参考:http://fedo ...

  7. 【UVA 1586】Ancient Cipher

    题 题意 给你一个只含CHON的有机物的化学式如C6H5OH求相对分子质量 分析 ... 代码 switch #include<cstdio> #include<cctype> ...

  8. 【FE前端学习】第二阶段任务-基础

    技能学习部分: 1.需要熟练掌握HTML标签以及CSS各个常用属性. 2.掌握CSS3 常用属性 3.掌握jquery的基本用法,对于JS基本逻辑语句需要熟练掌握 上文 [FE前端学习]第二阶段任务- ...

  9. Memcache查看运行状况

    连接上memcache telnet 127.0.0.1 11211 当前memcache的状态 stats pid memcache服务器的进程ID uptime 服务器已经运行的秒数 time 服 ...

  10. codevs1064 虫食算

    题目描述 Description 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简单的例子: 43#9865#045    +    8468#6 ...