方法类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            
方法和类
--------------------------------- 
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号