`
xxp3369
  • 浏览: 151286 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

\struts2\src\com\test\action

阅读更多
package com.test.action;

import java.io.InputStream;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class DownloadAction extends ActionSupport
{
	public InputStream getDownloadFile()
	{
		return ServletActionContext.getServletContext().getResourceAsStream(
				"/upload/Struts2.ppt");
	}
	
	@Override
	public String execute() throws Exception
	{
		return SUCCESS;
	}
}



package com.test.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport
{
	private String username;
	private String password;

	public String getUsername()
	{
		return username;
	}

	public void setUsername(String username)
	{
		this.username = username;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public String execute() throws Exception
	{
		if ("hello".equals(this.getUsername().trim())
				&& "world".equals(this.getPassword().trim()))
		{
			return "success";
		}
		else
		{
			this.addFieldError("username", "username or password error");
			return "failer";
		}

	}

	@Override
	public void validate()
	{
		if (null == this.getUsername() || "".equals(this.getUsername().trim()))
		{
			this.addFieldError("username", "username required");
		}
		if (null == this.getPassword() || "".equals(this.getPassword().trim()))
		{
			this.addFieldError("password", "password required");
		}
	}

}



package com.test.action;

import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;
import com.test.bean.Point;

public class PointAction extends ActionSupport
{

	//private List<Point> point;
	
	private Point point;
	
//	private Point point2;
//	private Point point3;
		
	private int age;
	private String username;
	private Date date;
	
	public Point getPoint()
	{
		return point;
	}

	public void setPoint(Point point)
	{
		this.point = point;
	}

//	public Point getPoint2()
//	{
//		return point2;
//	}
//
//	public void setPoint2(Point point2)
//	{
//		this.point2 = point2;
//	}
//
//	public Point getPoint3()
//	{
//		return point3;
//	}
//
//	public void setPoint3(Point point3)
//	{
//		this.point3 = point3;
//	}

//	public List<Point> getPoint()
//	{
//		return point;
//	}
//
//	public void setPoint(List<Point> point)
//	{
//		this.point = point;
//	}

	
	
	
	public int getAge()
	{
		return age;
	}

	public void setAge(int age)
	{
		this.age = age;
	}

	public String getUsername()
	{
		return username;
	}

	public void setUsername(String username)
	{
		this.username = username;
	}

	public Date getDate()
	{
		return date;
	}

	public void setDate(Date date)
	{
		this.date = date;
	}

	@Override
	public String execute() throws Exception
	{
		return SUCCESS;
	}

}



package com.test.action;

import java.util.Calendar;
import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class RegisterAction extends ActionSupport
{
	private String username;

	private String password;

	private String repassword;

	private int age;

	private Date birthday;

	private Date graduation;

	public String getUsername()
	{
		return username;
	}

	public void setUsername(String username)
	{
		this.username = username;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public String getRepassword()
	{
		return repassword;
	}

	public void setRepassword(String repassword)
	{
		this.repassword = repassword;
	}

	public int getAge()
	{
		return age;
	}

	public void setAge(int age)
	{
		this.age = age;
	}

	public Date getBirthday()
	{
		return birthday;
	}

	public void setBirthday(Date birthday)
	{
		this.birthday = birthday;
	}

	public Date getGraduation()
	{
		return graduation;
	}

	public void setGraduation(Date graduation)
	{
		this.graduation = graduation;
	}

	@Override
	public String execute() throws Exception
	{
		return SUCCESS;
	}
	
	public String test() throws Exception
	{
		return SUCCESS;
	}
	
	
//	public String abc() throws Exception
//	{
//		System.out.println("abc method invoked");
//		
//		return SUCCESS;
//	}
//	
//	public void validateAbc()
//	{
//		System.out.println("validateAbc() invoked");
//	}
//	

	@Override
	public void validate()
	{
		System.out.println("validate~~~~~~~~~~~~~~~~~~~");
		
		
		this.addFieldError("username","aaaaaaaaaaaaaaaa");
		
		
		this.getFieldErrors().put("username","bbbbbbbbbbbbb");
		

		if (null == username || username.length() < 6 || username.length() > 10)
		{
			this.addActionError("username invalid");
		}
//		if (null == password || password.length() < 6 || password.length() > 10)
//		{
//			this.addActionError("password invalid");
//		}
//		else if (null == repassword || repassword.length() < 6
//				|| repassword.length() > 10)
//		{
//			this.addActionError("re-password invalid");
//		}
//		else if (!password.equals(repassword))
//		{
//			this.addActionError("two passwords not the same");
//		}
//		if (age <= 0 || age > 150)
//		{
//			this.addActionError("age should be between 1 and 150");
//		}
//
//		if (null != birthday && null != graduation)
//		{
//			Calendar c1 = Calendar.getInstance();
//			c1.setTime(birthday);
//
//			Calendar c2 = Calendar.getInstance();
//			c2.setTime(graduation);
//
//			if (!c1.before(c2))
//			{
//				this.addActionError("birthday should be before graduation");
//			}
//		}

	}
}








package com.test.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
import com.test.bean.User;

public class RegisterAction2 extends ActionSupport implements ModelDriven<User>,Preparable
{
	private User user = new User();
	
	public User getModel()
	{
		return user;
	}
	
	public void prepare() throws Exception
	{
		System.out.println("hello world");
	}
	
	@Override
	public String execute() throws Exception
	{
		return SUCCESS;
	}
}



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>

<!-- 
	<validator type="requiredstring">
		<param name="fieldName">username</param>
		<message>username should not be blank!</message>
	</validator>
	
	<validator type="stringlength">
		<param name="fieldName">username</param>
		<param name="minLength">6</param>
		<param name="maxLength">10</param>
		<message>username should be between ${minLength} and ${maxLength}</message>
	</validator>
 -->	

	<field name="username">
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>username should not be blank!</message>
		</field-validator>
		
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">10</param>
			<message>username should be between ${minLength} and ${maxLength}</message>
		</field-validator>
	</field>

	<field name="password">
		<field-validator type="requiredstring">
			<message>password should not be blank!</message>
		</field-validator>
		
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">10</param>
			<message>password should be between ${minLength} and ${maxLength}</message>
		</field-validator>
	</field>
	
	<field name="repassword">
		<field-validator type="requiredstring">
			<message>repassword should not be blank!</message>
		</field-validator>
		
		<field-validator type="stringlength">
			<param name="minLength">6</param>
			<param name="maxLength">10</param>
			<message>repassword should be between ${minLength} and ${maxLength}</message>
		</field-validator>
	</field>
	
	<field name="age">
		<field-validator type="required">
			<message>age should not be blank!</message>
		</field-validator>
	
		<field-validator type="int">
			<param name="min">1</param>
			<param name="max">150</param>
			<message>age should be between ${min} and ${max}</message>
		</field-validator>
	</field>
	
	<field name="birthday">
		<field-validator type="required">
			<message>birthday should not be blank!</message>
		</field-validator>
		
		<field-validator type="date">
			<param name="min">2001-01-01</param>
			<param name="max">2003-12-31</param>
			<message>birthday should be between ${min} and ${max}</message>
		</field-validator>
	</field>
	
	<field name="graduation">
		<field-validator type="required">
			<message>graduation should not be blank!</message>
		</field-validator>
		
		<field-validator type="date">
			<param name="min">2005-01-01</param>
			<param name="max">2007-12-31</param>
			<message>graduation should be between ${min} and ${max}</message>
		</field-validator>
	</field>
	

	
</validators>



package_en_US.properties
username.xml.invalid = package information



PointAction-conversion.properties
#point=com.test.converter.PointConverter
#point2=com.test.converter.PointConverter
#point3=com.test.converter.PointConverter
#point=com.test.converter.PointConverter3


RegisterAction_en_US.properties

username.xml.invalid = RegisterAction information
分享到:
评论

相关推荐

    Struts2SpringUnitDemo单元测试

    9. **源码结构**:Struts2SpringUnitDemo项目可能包含了标准的Java项目结构,如src/main/java(存放源码)、src/test/java(存放测试代码)、WEB-INF目录下的struts.xml和spring配置文件等。 通过这个项目,开发者...

    struts2基础知识

    2. 把 Struts2 的配置文件 struts.xml 直接放到 src 下面。 3. 在 web.xml 文件中配置 Struts2 框架的过滤器。 Struts2 框架的过滤器配置 Struts2 框架的过滤器用于拦截 Struts2 框架中的 Action。在 web.xml 文件...

    struts2 在eclipse 配置成功

    - 在src目录下创建一个Java包,例如`com.example.struts2test.action`,然后创建一个简单的Action类,如`HelloWorldAction`,实现`execute`方法并返回一个结果。 7. **配置struts.xml**: - 创建`struts.xml`配置...

    struts-2.0.14-src.zip

    3. **src/test**:测试代码,可以帮助我们了解如何测试Struts2的功能和组件。 4. **src/main/resources**:资源文件,如配置文件、本地化字符串等。 5. **pom.xml**:Maven项目对象模型文件,用于构建和管理项目依赖...

    Struts2框架单元测试代码

    - `src/main/java`: 包含Struts2 Action类和其他业务逻辑组件。 - `src/test/java`: 存放单元测试代码,每个Action类对应一个测试类。 示例代码可能如下: ```java import org.junit.Before; import org.junit....

    struts2 tiles实例 eclipse下运行

    当用户请求"/test"时,Struts2会根据配置将控制权交给TestAction,然后渲染出由Tiles定义的视图。 在Eclipse中,设置好Tomcat服务器,右键点击项目选择"Run As" -&gt; "Run on Server",如果配置无误,你应该能在...

    struts2.1.6src

    在src中,你可以研究`org.apache.struts2.config`包下的类,如`PackageConfigBuilder`和`StrutsConfig.xml`解析器,了解Struts2如何读取并解析配置文件,以建立应用的配置模型。 3. **拦截器机制**: Struts2的...

    使用Maven的struts2项目结构

    - `src/main/java/com/yourcompany/app`:包含Action类和其他业务逻辑类。 - `src/main/resources`:可能包含Struts2的配置文件`struts.xml`或其他定制的配置。 - `src/main/webapp/WEB-INF`:`web.xml`文件定义...

    struts2 包中内容,除了lib

    这个压缩包包含了Struts2框架的两个主要部分:文档(docs)和源代码(src)。下面我们将详细探讨这两个部分的内容及其重要性。 首先,`struts-2.2.3-docs.zip`是Struts2的官方文档,这是开发者理解和使用框架的重要...

    搭建EXTJS和STRUTS2框架(ext和struts2简单实例)

    - `&lt;action name="test" class="com.teaweb.action.TestAction"&gt;`:定义了一个名为`test`的动作,对应到`TestAction`类。 4. **配置web.xml**: - 在项目的`src/main/webapp/WEB-INF`目录下创建或修改`web.xml`...

    Struts2 Spring Jpa 配置测试

    一个典型的Struts2+Spring+JPA项目会包含以下几个主要部分:Web-INF下的`web.xml`和`struts.xml`,`src/main/resources`下的`applicationContext.xml`和`persistence.xml`,以及`src/main/java`下的Action类、...

    Spring+Struts2+JPA

    4. **整合步骤**:配置Struts2的Spring插件,使Struts2能够从Spring容器中获取Action实例。在Action类中注入Service,Service再注入DAO,形成完整的依赖链。 5. **测试**:编写JUnit测试用例,验证Spring、Struts2...

    struts2学习笔记(1)

    Struts2的核心配置文件是`struts.xml`,它用于定义应用程序的行为和结构,包括Action的映射、拦截器的配置等。 - **操作方法**:将`struts.xml`文件复制到项目的src目录下,并且可以将日志配置文件`log4j....

    添加Struts2支持

    你需要根据你的业务逻辑,定义Action类,编写`struts.xml`配置,设定结果页面,并使用Struts2提供的各种标签库来渲染视图。同时,不要忘记利用Struts2的强大功能,如拦截器、结果类型、国际化、数据校验等,以提高...

    struts2框架搭建

    例如,我们可以创建一个名为TestAction的类,它继承自ActionSupport,这是Struts2中所有Action的基础类。ActionSupport提供了许多有用的功能,如国际化支持、错误处理等。在TestAction类中,我们定义一个name属性,...

    struts2-test:学习struts2

    学习和实践“struts2-test”项目,你可以逐步了解Struts2的配置、Action编写、视图渲染、拦截器实现以及如何进行单元测试。通过实际操作,你会对Struts2框架有更深入的理解,为开发更复杂的Java Web应用打下坚实基础...

    Struts2整合jQuery实现Ajax功能.doc

    在Struts2中,Action是处理用户请求的核心组件,它接收来自控制器的请求,执行相应的业务逻辑,并返回结果到视图层。jQuery则是一个流行的JavaScript库,极大地简化了DOM操作、事件处理以及Ajax交互等前端任务。 ...

    搭建好的一个struts2环境

    4.建立文件夹需要在src/struts2.xml里添加一句话:&lt;package name="folder1" namespace="/folder1" extends="default"&gt;&lt;/package&gt; 5.WebRoot/WEB-INF/jsp目录建立对应的文件夹folder1 6.在包com.test.web.action...

    hibernate+struts2 项目源码

    你需要理解如何在Struts2的Action中注入SessionFactory,然后在业务逻辑中调用Hibernate的方法。 4. **项目结构**:Y2T014_s2h3可能代表项目的目录结构,通常包含src/main/java(源代码)、src/main/resources...

    Struts2整合jQuery实现Ajax功能

    在本案例中,我们将探讨如何使用 Struts2 的 Action 配合 jQuery 的 AJAX 方法来实现实时验证和数据交换。 首先,我们需要了解 jQuery。jQuery 是一个强大的 JavaScript 库,它简化了 DOM 操作、事件处理、动画以及...

Global site tag (gtag.js) - Google Analytics