`
chaoyi
  • 浏览: 309213 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

S2H action+struts.xml+jsp

 
阅读更多

StudentAction 控制器

package cn.action;
import java.util.ArrayList;
import java.util.List;
import cn.biz.StudentBiz;
import cn.biz.impl.StudentBizImpl;
import cn.entity.Classes;
import cn.entity.Student;
import com.opensymphony.xwork2.ActionSupport;
/**
 * 学生 控制器
 * */
@SuppressWarnings("serial")
public class StudentAction extends ActionSupport {
	private StudentBiz studentBiz = new StudentBizImpl();
	private List<Student> students = new ArrayList<Student>();
	private Student student = new Student();
	private Integer id;
	private List<Classes> classesList = new ArrayList<Classes>();
	private Integer classId;
	/**
	 * 显示学生列表
	 * @return
	 */
	public String list(){
		students = studentBiz.getAll();
		return SUCCESS;
	}
	/**
	 * 根据 id 查询学生信息
	 * @return
	 */
	public String selected(){
		student = studentBiz.getStudentById(id);
		classesList = studentBiz.getClassesList();
		return SUCCESS;
	}
	/**
	 * 修改学生信息
	 * @return
	 */
	public String updated(){
		Classes classes = new Classes();
		classes = studentBiz.getClassesById(classId);
		student.setClasses(classes);
		if(studentBiz.update(student) > 0){
			students = studentBiz.getAll();
			return SUCCESS;
		}else{
			return INPUT;
		}
		
	}
	public StudentBiz getStudentBiz() {
		return studentBiz;
	}
	public void setStudentBiz(StudentBiz studentBiz) {
		this.studentBiz = studentBiz;
	}
	public List<Student> getStudents() {
		return students;
	}
	public void setStudents(List<Student> students) {
		this.students = students;
	}
	public Student getStudent() {
		return student;
	}
	public void setStudent(Student student) {
		this.student = student;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public List<Classes> getClassesList() {
		return classesList;
	}
	public void setClassesList(List<Classes> classesList) {
		this.classesList = classesList;
	}
	public Integer getClassId() {
		return classId;
	}
	public void setClassId(Integer classId) {
		this.classId = classId;
	}
}

 

struts.xml 配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "struts-2.1.dtd">
<struts>
	<constant name="struts.ui.theme" value="simple"></constant>
	<package name="default" namespace="/" extends="struts-default">
		<!-- 显示学生列表 -->
		<action name="list" class="cn.action.StudentAction" method="list">
			<result name="success">/index.jsp</result>
		</action>
		<!-- 根据id查询学生信息 -->
		<action name="selected" class="cn.action.StudentAction" method="selected">
			<result name="success">/update.jsp</result>
		</action>
		<!-- 修改学生信息 -->
		<action name="updated" class="cn.action.StudentAction" method="updated">
			<result name="success">/index.jsp</result>
			<result name="input">/update.jsp</result>
		</action>
	</package>
</struts>    

 

index.jsp 页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
*{ margin:0; padding:0; }
body{ font-family:"宋体"; color:#333; font-size:14px; background:#fff;}
a{ color:#069; text-decoration:underline;}
a:hover{ color:#f60; text-decoration:underline;}
h3{ text-align:center; line-height:40px;}
table{ margin:0 auto; line-height:23px;}
table tr th{ background:#B8860B;}
table tr td{ padding:0 8px;}
table .tdBg td{ background:#999}
</style>
<title>学生信息列表</title>
</head>
<body>
<h3>学生信息列表</h3>
<table border="1">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>生日</th>
        <th>电话</th>
        <th>E-mail</th>
        <th>班级</th>
    </tr>
    <s:iterator value="students" status="st"> 
    <tr <s:if test="#st.even">class="tdBg"</s:if>  ><!-- 隔行变色 -->
        <td><s:a href="selected.action?id=%{id}"><s:property value="id"/></s:a></td>
        <td><s:property value="sname"/></td>
        <td><s:property value="gender"/></td>
        <td><s:date name="birthday" format="yyyy-MM-dd" /></td>
        <td><s:property value="telephone"/></td>
        <td><s:property value="email"/></td>
        <td><s:property value="classes.cname"/></td>
    </tr>
    </s:iterator>
</table>
</body>
</html>

 

效果图:

 

update.jsp 页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
*{ margin:0; padding:0; }
body{ font-family:"宋体"; color:#333; font-size:14px; background:#fff;}
h3{ text-align:center; line-height:40px;}
table{ margin:0 auto; line-height:23px;}
table input[type="text"]{ border:1px solid #333; height:18px; line-height:18px; padding-left:6px;}
table select{ border:1px solid #333; }
</style>
<script type="text/javascript">
//根据 id 获取元素  
function $(id) {  
	return document.getElementById(id);  
}
//开机加载  
window.onload = function() {  
	//为表单注入 onsubmit 事件  
	document.updatedForm.onsubmit = function() {  
	return check();  
	};  
};  
//提交表单前验证  
function check() {  
	var sname = $("sname");  
	var birthday = $("birthday"); 
	var telephone = $("telephone");
	var email = $("email");
	 
	if ("" == sname.value || "" == birthday.value|| "" == telephone.value|| "" == email.value) {  
    	alert("姓名,生日,电话和E-mail不能为空");  
		return false;  
	}  
	var regEmail = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;  
    if(regEmail.test(email.value)==false){
    	alert("电子邮箱格式不正确,请重新输入");  
        return false;  
    }
	return true;  
}  
</script>
<title>修改学员信息</title>
</head>
<body>
<h3>修改学员信息</h3>
<s:form action="updated" method="post" name="updatedForm">
<table>
    <tr>
        <td><input type="hidden" name="student.id" value="<s:property value='student.id'/>"/>姓名</td>
        <td><input type="text" name="student.sname" id="sname" value="<s:property value='student.sname'/>" /></td>
    </tr>
     <tr>
        <td>性别</td>
        <td>
        	 <s:if test='student.gender =="男"'>
				<input type="radio" value="男" name="student.gender" checked="checked" />男
				<input type="radio" value="女" name="student.gender" />女
			</s:if>
			<s:else>
				<input type="radio" value="男" name="student.gender" />男
				<input type="radio" value="女" name="student.gender" checked="checked"  />女
			</s:else>
        </td>
    </tr>
     <tr>
        <td>生日</td>
        <td><input type="text" name="student.birthday" id="birthday" value="<s:date name='student.birthday' format='yyyy-MM-dd' />" /></td>
    </tr>
     <tr>
        <td>电话</td>
        <td><input type="text" name="student.telephone" id="telephone" value="<s:property value='student.telephone'/>" /></td>
    </tr>
     <tr>
        <td>E-mail</td>
        <td><input type="text" name="student.email" id="email" value="<s:property value='student.email'/>" /></td>
    </tr>
     <tr>
        <td>班级</td>
        <td>
        	<select name="classId">
        		<s:iterator value="classesList">
        			<s:if test="student.classes.id == id">
        			<option value="<s:property value='id'/>" selected="selected"><s:property value="cname"/></option>
        			</s:if>
        			<s:else>
        				<option value="<s:property value='id'/>"><s:property value="cname"/></option>
        			</s:else>
        		</s:iterator>
            </select>
        </td>
    </tr>
    <tr><td colspan="2" style="text-align:center"><input type="submit" value="保存" />&nbsp;&nbsp;<input type="reset" value="重置" /></td></tr>
</table>
</s:form>
</body>
</html>

 

效果图:

 

 

 

  • 大小: 42.8 KB
  • 大小: 26.4 KB
分享到:
评论

相关推荐

    Struts2.1、Spring3.0、Hibernate3.3整合与S2SH的XML文件拆分

    4. **JSP访问Struts2 Action**:JSP页面通过特定的URL模式访问Action,包括namespace、action name和方法名。 **Spring3.0配置** 1. **导入Spring3.0 Jar包**:在项目中引入Spring库,以实现依赖注入和业务逻辑管理...

    s2sh_demo struts2+spring+hibernate+jsp整合

    在S2SH框架中,JSP通常作为视图层,接收并展示由Struts2 Action处理后的数据。JSP页面中可以包含Java代码、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签库,使得页面更易读和维护...

    hibernate+struts2 项目源码

    在项目中,你将接触到Action类的编写,Struts.xml配置文件,以及利用Interceptor拦截器处理请求和响应。同时,Struts2还支持各种结果类型和模板技术,如JSP、FreeMarker等。 3. **整合Hibernate和Struts2**:在实际...

    Spring+Struts2.0实例代码

    以及 Struts 2.0 的 `struts.xml`,用于配置 Action 映射和拦截器链。 2. **Action 类**:这些类实现了 Struts 2.0 的 `Action` 接口或继承自 `ActionSupport` 类,包含了业务逻辑处理方法。这些方法通常对应于前端...

    S2S3H3(Struts2.3.4+Spring3.0+Hibernate3.3)配置步骤

    以下是S2S3H3(Struts2.3.4+Spring3.0+Hibernate3.3)的详细配置步骤。 1. **环境准备** - IDE:MyEclipse8.5 - JDK:1.7 - 应用服务器:Tomcat6.0 - 框架版本:Struts2.3.4,Spring3.0,Hibernate3.3 - ...

    Spring+struts+hibernate配置文件

    2. `struts`目录:包含Struts的配置文件,如`struts-config.xml`,可能还有Action的配置。 3. `hibernate`目录:包含Hibernate的配置文件,如`hibernate.cfg.xml`,以及实体类的映射文件。 4. `lib`目录:存放所有...

    S2StrutsBlank-V1.3.1.zip

    1. **Struts 2框架**:理解Struts 2的基本架构,包括Action类、配置文件(struts.xml)、拦截器、结果类型等核心概念。 2. **MVC模式**:学习如何在Struts 2中实现模型、视图和控制器之间的协作,以及如何通过Action来...

    struts2+spring+hibernate整合(xml)

    XML配置文件(如struts.xml)用于定义Action类、结果页面和拦截器。Struts2的核心是Action类,它是业务逻辑的入口点。通过ActionForm或者ModelDriven接口,Struts2可以从请求中获取数据,并调用服务层方法处理业务。...

    struts2.x所有包及配置文件

    - 在struts.xml文件中定义Action和相关配置,然后根据Action和结果类型编写对应的业务逻辑和视图。 理解并熟练运用这些知识点,开发者可以高效地构建出健壮且易于维护的Java web应用。在实际项目中,还需要关注...

    struts2+mybatis+spring整合简单案例

    在整合过程中,我们需要在Struts2的配置文件(struts.xml)中定义Action及其对应的处理方法,并设置结果视图。 MyBatis则是一个轻量级的持久层框架,它简化了SQL操作,通过XML或注解方式配置和映射原生信息,将接口...

    strruts2.1、Spring3.0、Hibernate3.3整合与S2SH的XML文件拆分.docx

    要使用Spring,需要先导入Spring的JAR包,并在`struts.xml`中设置`struts.objectFactory`为`spring`,这使得Struts2能利用Spring的IoC容器来创建和管理Action对象。同时,开发者还需要在Spring的配置文件(如`...

    spring2.5+struts2.0+hibernate3.3整合

    4. **配置Struts2**:创建struts.xml配置文件,定义Action类、结果页面和全局拦截器。Struts2会通过Spring插件与Spring容器进行交互,自动实例化Action类。 5. **配置Hibernate**:在hibernate.cfg.xml文件中配置...

    SSH.rar_s2sh_ssh struts2_ssh+mysql_struts2 hibernate_struts2 mys

    这个名为"SSH.rar_s2sh_ssh+mysql_struts2_hibernate_struts2_mys"的压缩包文件,可能是关于如何整合这些技术并配合MySQL数据库进行项目开发的文档资料。 首先,我们来看Struts2,这是一个基于MVC设计模式的Java ...

    s2sh整合实例 Struts2.0 Spring2.6 Hibernate3.2

    2. **创建`struts.xml`文件**:该文件是Struts 2的核心配置文件,用于定义各种action及它们的处理结果。下面是一个简单的示例: ```xml &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts ...

    struts2+spring4+hibernate4工程搭建源码

    在实际开发中,这三者之间的协作流程大致如下:用户发起请求,被Struts2的前端控制器捕获,然后根据`struts.xml`配置转发到相应的Action;Action中调用Service层的方法,Service层通过DAO层与数据库交互,完成业务...

    s2sh整合 源码 struts2 hibernate spring

    4. **整合Struts2和Spring**:使用Spring插件struts2-spring-plugin,配置struts-plugin.xml,使Struts2能够识别Spring管理的Action。 5. **整合Hibernate和Spring**:通过Spring的LocalSessionFactoryBean创建...

    Struts2.x 项目实战

    配置方面,Struts2.x使用XML配置文件(struts.xml或struts-default.xml)来定义Action、结果类型、拦截器等,同时支持注解方式配置,提高开发效率。此外,Struts2.x还支持动态方法调用,使得Action方法的调用更加...

    S2SH-test.rar_s2sh_struts2.1

    `WebRoot`是Web应用的根目录,包含静态资源(如HTML、CSS、JavaScript文件)、Web应用的配置文件(如Struts2的struts.xml、Spring的applicationContext.xml)、JSP页面等。 `.myeclipse`目录可能包含MyEclipse工作...

    struts框架搭建

    主要包括`struts.xml`和`struts.properties`等。 ##### 1. 解决断网环境下配置文件提示问题 - **问题描述**:在断网环境下,IDEA中的`struts.xml`文件会出现红色叹号,无法获取到DTD验证信息,导致无法获得提示。 -...

Global site tag (gtag.js) - Google Analytics