• 方法类struts2环境搭建


    首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责

        这里说的struts2.3,下载核心的jar包

        

        步调:

        1.创立一个web工程

        2.将下载上去的jar包拷贝的WEB-INF->lib文件夹中

        3.在src目录下创立一个xml文件名称为strurs.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="admin" extends="struts-default">
    	<action name="abc" class="com.Login" method="login">
    		<result name="su">/su.jsp</result>
    		<result name="er">/er.jsp</result>
    	</action>
    </package>
    </struts>

        action中的abc就是action的名字,在与前台表单中地 action对应。

        method=“login”  标识回去执行com.Login类中的login方法(该方法返回类型为String)

        result中的name和调用的action类中的方法返回值停止匹配哈那个分歧就返回result对应的视图(.jsp)

        

        4.在web.xml文件中添加如下过滤器:

        

    <filter>
      	<filter-name>struts2</filter-name>
      	<filter-class>
      		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
      	</filter-class>
      </filter>
      <filter-mapping>
      	<filter-name>struts2</filter-name>
      	<url-pattern>/*</url-pattern>
      </filter-mapping>

        /*  表现所有的请求都市被拦截到

        5.我简略写下action中对应调转到的action类:

        

    package com;
    
    public class Login{
    	Users user;
    	public String login() {
    		System.out.println(user.getName()+":"+user.getPow());
    		return "su";
    		
    	}
    	public Users getUser() {
    		return user;
    	}
    	public void setUser(Users user) {
    		this.user = user;
    	}
    	
    }

        Users类:

        

        每日一道理
    这浓浓的母爱使我深深地认识到:即使你是一只矫健的雄鹰,也永远飞不出母爱的长空;即使你是一条扬帆行驶的快船,也永远驶不出母爱的长河!在人生的路上不管我们已走过多远,还要走多远,我们都要经过母亲精心营造的那座桥!
    package com;
    
    public class Users {
    	private String name ;
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    	
    }

        

        

        6.在index.jsp文件内容:

        

    <body>
        <form action="abc" method="post">
        	<input type="text" name="user.name"/>
        	<input type="password" name="user2.pow"/>
        	<input type="submit" value="提交"/>
        </form>
      </body>

        发布运行一下我们就能够在我们前途传入的值了;

        

        

        这是用的典范的action自动封装的方法:

        后台:.在一个一般的java类中(不集成action接口)定义一个Users类 user并添加user的gat,set方法

        前台:.这样在input中的name用user.name;user.pow的方式就能够将数据提交到action中的user对象中了

        注意:

        这是对于封装成user对象了,想一下要是不是对象就是一个String类型的变量在user的未知,生成这个string的get,set方法,在前台直接string就能够自动封装值了对吧。

        另外还有一种方法可以自动封装:

        后台:action实现ModelDriven<UserInfo>接口,具体如下:

        

    publicclass LoginAction implements ModelDriven<Users> {
    	private Users user = new Users();
    
    	@Override
    	public Users getModel() {
    		return user;
    	}
    }

        前台:input中的name写name,pow就能够了不用写前缀了

        

        但是这种比较有局限性,因为我们的action基本上都市去接受好多不同实体类中的值。

        

        

        

    文章结束给大家分享下程序员的一些笑话语录: 问:你觉得让你女朋友(或者任何一个女的)从你和李彦宏之间选一个,你觉得她会选谁?  
      答:因为李艳红这种败类,所以我没女友!

    --------------------------------- 原创文章 By
    方法和类
    ---------------------------------

  • 相关阅读:
    声明式编程和命令式编程的比较
    函数式编程
    读《暗时间》
    动态语言和静态语言的比较
    2013第二次实训
    for惠普2013实习生
    bat的大数据
    android stduio优化
    当move手势太快,降低频率
    ANR没root的时候处理*(转)
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3111509.html
Copyright © 2020-2023  润新知