JPA+Spring2.5+Struts2.1.8 集成(三)

来源:互联网 发布:淘宝代写征文靠谱 编辑:程序博客网 时间:2024/06/03 18:03

首先加入Struts2.1.8的jar包如图


最新的Struts-2.3.4需要再添加javassist-3.11.0.GA.jar、commons-lang3-3.1.jar、commons-io-2.0.1.jar三个包,可以到apps\struts2-blank.war下找

创建struts配置文件

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd">    <struts><constant name="struts.i18n.encoding" value="UTF-8"/><constant name="struts.custom.i18n.resources" value="message"></constant><constant name="struts.ui.theme" value="simple"></constant><constant name="struts.objectFactory" value="spring"></constant><constant name="struts.configuration.xml.reload" value="true"/><package name="base" extends="struts-default">    <global-results>    <result>/WEB-INF/page/user/message.jsp</result></global-results>     </package><package name="buyer" extends="base" namespace="/buyer"><action name="buyer_*" class="buyerAction" method="{1}"><result name="addUI">/WEB-INF/page/user/adduser.jsp</result></action></package></struts>

web.xml需要添加以下内容

<filter>      <filter-name>Spring OpenEntityManagerInViewFilter</filter-name>      <filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>   <init-param><!--  指定org.springframework.orm.jpa.LocalEntityManagerFactoryBean在spring配置文件中的名称,默认值为entityManagerFactory 如果LocalEntityManagerFactoryBean在spring中的名称不是entityManagerFactory,该参数一定要指定,否则会出现找不到entityManagerFactory的例外 --><param-name>entityManagerFactoryBeanName</param-name><param-value>entityManagerFactory</param-value>      </init-param></filter><filter-mapping>    <filter-name>Spring OpenEntityManagerInViewFilter</filter-name>    <url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--<display-name>SSJ2</display-name>-->    <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>classpath:beans.xml</param-value></context-param><!-- 对Spring容器进行实例化 --><listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>

创建个formbean用以放请求数据

package com.jason.web.formbean.user;public class BuyerForm {private static final long serialVersionUID = -696318026407808715L;private String username;private String password;private String email;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 getEmail() {return email;}public void setEmail(String email) {this.email = email;}}

编写Action类

package com.jason.web.action.user;import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List;import javax.annotation.Resource;import org.springframework.context.annotation.Scope;import org.springframework.stereotype.Controller;import com.jason.bean.PageView;import com.jason.bean.user.Buyer;import com.jason.service.user.BuyerService;import com.jason.web.formbean.user.BuyerForm;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;/** * 用户列表 * @author jason * */@Controller@Scope("prototype")public class BuyerAction extends ActionSupport implements ModelDriven<BuyerForm>{private static final long serialVersionUID = -3345404873522328949L;@Resource(name="buyerServiceBean")private BuyerService buyerService;private BuyerForm model=new BuyerForm();public String addUI() throws Exception{return "addUI";}/** * 添加 * @return * @throws Exception */public String add() throws Exception{Buyer buyer = new Buyer(model.getUsername(),model.getPassword(), model.getEmail());buyerService.save(buyer);ActionContext.getContext().put("message","用户注册成功");ActionContext.getContext().put("urladdress","buyer/buyer_addUI");return SUCCESS;}public BuyerForm getModel() {return model;}}

adduser.jsp

<%@ page contentType="text/html;charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><html><head><title>测试</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div align="center"><s:form action="buyer_add" namespace="/buyer" method="post">用户:<s:textfield name="username"/><br/>密码:<s:textfield name="password"/><br/>邮箱:<s:textfield name="email" /><br/><input type="submit" style="height:40px;width:120px;" name="Submit" value="提交注册信息" tabindex="5" /></s:form></div></body></html>

message.jsp

<%@ page contentType="text/html;charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %><html><head><title>测试</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div align="center">${message }</div></body></html>

访问http://localhost/SSJ2/buyer/buyer_addUI,如图




原创粉丝点击