Struts2 convention插件试用+ Spring+Hibernate SSH整合

第一步,引入struts2-convention-plugin-2.2.1.jar

然后,改动配置文件。

我是在struts.properties文件里改动的:

struts.objectFactory = spring
struts.devMode = true
struts.i18n.encoding = UTF-8
struts.convention.result.path =/WEB-INF/jsp/
struts.convention.package.locators = action,actions,struts,struts2,control,controls,test
struts.convention.action.suffix =Action,Control

第一行。与spring整合。

第二行,启用struts开发模式。方便调试。

第三行,i18n

第四行,指定默认视图的路径,全部视图资源将从此路径下搜索。

第五行。指定搜索的包名。因为个人喜欢将控制类的包命名为*.control,所以增加control包。又增加了test包

第六行。指定class文件的文件结尾名。比方,默认仅仅搜索AbcAction这种类。如今也可搜索AbcControl这种类。

Java測试代码(部分)项目地址:http://localhost:8080/Photo/

package com.lgh.test;

import java.util.List;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.convention.annotation.Namespace;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import org.apache.struts2.convention.annotation.Actions;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;

import com.lgh.common.tools.json.JsonUtil;
import com.lgh.sys.entity.User;
import com.opensymphony.xwork2.Action;

@Scope("prototype")
@Controller
@Namespace("/name")//指定命名空间
public class TestControl implements Action {

	@Autowired
	private TestService testService;

	private User user;
	private String name;

	private List<User> List;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}
        // http://localhost:8080/Photo/name/test 能够訪问到此action
	@org.apache.struts2.convention.annotation.Action(value = "test", results = {
			@Result(name = "success", location = "/index.jsp", type = "redirect"),
			@Result(name = "register", location = "/haha.jsp", type = "redirect") })
	public String test() throws Exception {
		List = testService.findBySome("1", User.class);
		user = testService.findBySome("1", User.class).get(0);
		name = user.getName();
		JsonUtil.outToJson(ServletActionContext.getResponse(), user);
		return SUCCESS;
	}

// http://localhost:8080/Photo/haha/register 能够訪问到此action 注意此处value以斜杠"/"开头 表示绝对路径了。namespace失效
	@org.apache.struts2.convention.annotation.Action(value = "/haha/register", results = {
			@Result(name = "success", location = "/index.jsp", type = "redirect"),
			@Result(name = "register", location = "./haha.jsp", type = "redirect") }) //运行后会跳转到 http://localhost:8080/Photo/haha/haha.jsp ./haha.jsp和直接写haha.jsp效果一样,可是写/haha.jsp之后,会跳转到 http://localhost:8080/Photo/haha.jsp 相似于绝对路径
	public String register() throws Exception {
		List = testService.findBySome("1", User.class);
		user = testService.findBySome("1", User.class).get(0);
		name = user.getName();
		// JsonUtil.outToJson(ServletActionContext.getResponse(), user);
		return "register";
	}

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

}

SSH整合后的框架下载,请用MyEclipse导入。

MySQL的driver和jackson1.9.11-all的jar包没有上传。请自行搜索下载。

http://download.csdn.net/detail/lgh06/8039749 免积分 全然免费哦。

写的比較烂,见谅……

时间: 2024-10-27 08:06:42

Struts2 convention插件试用+ Spring+Hibernate SSH整合的相关文章

Struts2 convention插件试用

第一步,引入struts2-convention-plugin-2.2.1.jar 然后,修改配置文件.我是在struts.properties文件中修改的: struts.objectFactory = spring struts.devMode = true struts.i18n.encoding = UTF-8 struts.convention.result.path =/WEB-INF/jsp/ struts.convention.package.locators = action,

Struts2 Convention插件的使用(2)return视图以及jsp的关系

1 package com.hyy.action; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 public class HelloWorld extends ActionSupport{ 6 private String message; 7 public String execute() { 8 message = "hyy"; 9 return INPUT; 10 } 11 12 public String getM

Struts2 Convention插件的使用(1)

刚刚查阅官方文档(convention-plugin.html)并学习了Struts2的Convention插件,文章这里只作为一个笔记,建议大家去看官方文档比较清晰和全面. 需要在项目添加这些包 convention先找package,其中如果package包含action这个单词,就会将这个包作为根路径,即namespace="/" 然后找类,如果一个类的类名称是Action结尾,或者继承了ActionSupport类,那么会将该类作为action类,对应的url为 例如: com

Struts2 Convention插件的使用(3)方法前的@Action注解

package com.hyy.action; import org.apache.struts2.convention.annotation.Action; import com.opensymphony.xwork2.ActionSupport; public class HelloWorldTest extends ActionSupport{ private String message; @Action("/different/url") public String test

Struts2 Convention插件的使用(4)使用@Action注解返回json数据

package com.hyy.action; import java.util.HashMap; import java.util.Map; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; imp

使用maven实现struts2 spring hibernate 的整合

今天用maven实现了struts2 , spring, hibernate 的整合. 这中间出现了不少的错误.大都是因为配置文件出错引起的.在这里整合一下: 注:这里我们实现一个登陆功能.用户从jsp页面输入用户名和密码,服务器校验其正确性后,根据正确与否跳转到不同的页面. 一,整合之后的项目结构: 可以看到,与以前的“动态网站”项目的结构不同.Maven项目中所有的框架配置文件都放在了“resources”目录下面.在“resources”中的文件最终会被copy到项目的 WEB-INF/c

Struts2 Spring Hibernate 框架整合 Annotation MavenProject

项目结构目录 pom.xml       添加和管理jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.

Struts2+Spring+Hibernate(SSH)框架的搭建

首先需要下载struts2 ,spring,hibernate  的资源包; Struts2资源包下载路径:http://www.apache.org/spring资源包下载路径:http://projects.spring.io/spring-framework/hibernate资源包下载路径:http://hibernate.org/orm/downloads/ 在SSH框架的搭建步骤: 第一步:在eclipse中创建一个web项目,并生成web.xml文件; 第二步:往lib目录导入ja

spring,hibernate,struts整合

SSH整合: Spring与Hibernate整合 Spring与Struts整合 整合步骤:---------------------------------------------->本人使用的是struts2.3.4.1   hibernate3.6.0  spring3.2.5 1.导入jar文件 1)struts jar文件-->如何找? -->去源码包中struts-2.3.4.1\apps\struts-blank.war -->使用压缩文件打开struts-blan