java之struts2的action优化配置
当一个Action处理类中处理多个业务时,action的配置 文件将会急剧增加,导致配置文件很臃肿的问题。
struts2提供了两种方案来解决这个问题。一种是动态方法调用,另一种是使用通配符来配置Action。
这里只讲使用通配符的方式来配置Action.
代码如下:
UserAction
public class UserAction {
    private Integer id;
    private String name;
    private String sex;
    private int age;
    private String phone;
    private UserDao userDao = new UserDaoImpl();
    //这个List必须为处理类的属性 才可以在列表页面中获取数据   如果只是在方法的内部声明将无法获取
    //并且提供其get/set方法
    private List<User> list;
    private User user;
    //添加
    public String save(){
        User user = new User(name,age,sex,phone);
        if(userDao.save(user)>0){
            return Action.SUCCESS;
        }
        return Action.ERROR;
    }
    //修改
    public String update(){
        User user = new User(id,name,age,sex,phone);
        if(userDao.update(user)>0){
            return Action.SUCCESS;
        }
        return Action.ERROR;
    }
    //查询
    public String list(){
        list = userDao.findAll();
        //return Action.SUCCESS;
        return "list";
    }
    //删除
    public String delete(){
        if(userDao.delete(id)>0){
            return Action.SUCCESS;
        }
        return Action.ERROR;
    }
    //获取指定对象
    public String toUpdate(){
        user = userDao.findById(id);
        //return Action.SUCCESS;
        return "update";
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public List<User> getList() {
        return list;
    }
    public void setList(List<User> list) {
        this.list = list;
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
}
struts.xml
<!--
*表示匹配所有请求的action名 *表示匹配任意多个字符
{1}表示匹配第一个*所代表的内容
如:*User 可以匹配 addUser,deleteUser,saveUser,findUser,updateUser,*表示User前的字符
*_* 可以匹配 add_user这样的请求
-->
<action name="*" class="cn.sxt.action.UserAction" method="{1}">
<result type="redirectAction">list</result>
<result name="list">/list.jsp</result>
<result name="update">/update.jsp</result>
<result name="error">/error.jsp</result>
</action>
注意:使用通配符请求action的方式和以前一样
java之struts2的action优化配置的更多相关文章
- Struts2(五)Action二配置
		一.method参数 action package com.pb.web.action; public class HourseAction { public String add(){ System ... 
- java之struts2的action的创建方式
		首先action是用来处理请求的, 这里struts2中的action的3中创建方式. 1.无侵入性的创建方式. 无侵入性:使用第三方的框架,不直接继承或实现第三方提供的类或者接口就说是无侵入性的. ... 
- struts2  之 Action的优化配置
		总结:struts2种action的配置文件会随着业务的增加而增加,导致配置文件膨胀.struts2中提供了三种方案来解决这个问题: 1. 动态方法调用来实现. 2. 通配符配置来解决. 3. 使用注 ... 
- Struts2之Action基础与配置
		Action基础 Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元.也就是,用户的每 ... 
- struts2对action中的方法进行输入校验---xml配置方式(3)
		上面两篇文章已经介绍了通过编码java代码的方式实现action方法校验,这里我们介绍第二种方式:xml配置文件 首先我们来看一个样例: ValidateAction.java: package co ... 
- Struts2学习第一天--Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写
		action的name要与访问路径对应.hello.action. 加到tomcat启动 访问:http://localhost:8080/struts2-1/demo1/demo1.jsp 改为su ... 
- Struts2(五.用户注册的实现及整合Action的配置方法)
		一.用户注册功能 register.jsp页面 若是jquery ajax方式提交给action,还要回到jquery,控制权在jquery若是表单方式提交给action,控制权交给action &l ... 
- java之struts2的配置讲解(2)
		在 java之struts框架入门教程 基础上,进行下列操作 1.结构对比 原来的项目结构图 现在的结构图 即从结构上可以看出,在HelloStruts项目中增加了config 文件夹(Source ... 
- struts2 ,web.xml中配置为/*.action,运行报错Invalid <url-pattern> /*.action in filter mapp
		首先,修改成: <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/ ... 
随机推荐
- git sh.exe 乱码
			其实很简单,只需要在 git 安装目录中的 etc 目录下修改 bash.bashrc 文件. 在该文件头部加入: export LANG=zh_CN.utf-8alias ls='ls --show ... 
- P2052 [NOI2011]道路修建——树形结构(水题,大佬勿进)
			P2052 [NOI2011]道路修建 这个题其实在dfs里面就可以把事干完的,(我一开始还拿出来求了一把)…… 一条边的贡献就是儿子的大小和n-siz[v]乘上边权: #include<cma ... 
- 第12组 Beta冲刺(4/5)
			Header 队名:To Be Done 组长博客 作业博客 团队项目进行情况 燃尽图(组内共享) 展示Git当日代码/文档签入记录(组内共享) 注: 由于GitHub的免费范围内对多人开发存在较多限 ... 
- 百度地图中如何获取到发布的SHA1
			百度地图中如何获取到发布的SHA1 下面介绍的是一种通过命令的方式获取到发布版SHA1的方法: 打开Android的命令行Terminal: 1.首先进入到.android文件所在的目录,我的是如下图 ... 
- var a = function(){}和var a = function(){}();的区别
			var a = function(){ ... ... ... } 声明方法. var a = function(){ ... ... ... }(); 声明方法并执行 demo: var u = f ... 
- 基于Hive的对BiliBili用户信息进行数据分析
			用户表字段信息: 1.查出前1000位用户的用户名,关注数和粉丝数. 2.查询关注数大于100的用户的用户名和关注数. 3.查询粉丝数大于100的用户的用户名,粉丝数. 4.查询id为1000的用户的 ... 
- SSM项目实战 之 权限管理系统
			目录 SSM权限管理系统 项目搭建 1.创建Maven-webapp工程 2.SSM框架集成 3.添加代码生成器 主页搭建 EasyUI主页 员工列表 1.在tree当中指定跳转的地址--暂时用tre ... 
- 已知X,Y独立,那么X^2与Y也独立
			考虑离散情况, P{X^2=k} => P{X=sqrt(k)} 由X,Y独立可知, P{X=Sqrt(k} | Y=y} =P{X=Sqrt(x)}, P{X^2=k | Y=y} =P{ ... 
- iostat vmstat
			iostat https://linux.die.net/man/1/iostat https://www.geeksforgeeks.org/iostat-command-in-linux-with ... 
- sudo passwd root:没有相关指令
			在linux里如果想要修改密码,就输入这个指令,但是会出现没找到这个指令,是因为环境变量里没有passwd. 解决:查找passwd的位置,sudo find / -name passwd 然后进入p ... 
