struts2中的action接收客户端页面传递过来的数据
在此例中使用了属性接收和domain Model的类型接收。在使用domain Model接收参数的时候要注意JSP页面<input/>标签中name的值要写成 实体.实体属性 的这种形式,否则action中接收不到该对象的属性值。具体示例代码如下:
客户端提交数据页面:clientCommitData.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>客户端提交数据的页面</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="${pageContext.request.contextPath }/getParameter_getParameter" method="post">
id:<input type="text" name="id"/><br/>
name:<input type="text" name="name"/><br/>
birthday:<input type="text" name="birthday"/><br/>
age:<input type="text" name="person.age"/><br/>
sex:<input type="text" name="person.sex"/><br/>
<input type="submit" value="测试action接受客户端提交的数据"/>
</form>
</body>
</html>
显示用户提交的数据:showParameter.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>数据显示页面</title>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
在此页面显示另一个页面提交到action的数据<br/>
${id }-----id<br/>
${name }-----name<br/>
${birthday }----birthday<br/>
${person.age }-----person.age<br/>
${person.sex }-----person.sex
</body>
</html>
接收客户端提交数据的action:GetParameterAction.java
package com.sinwee.action;
import com.opensymphony.xwork2.ActionSupport;
import com.sinwee.domain.Person;
public class GetParameterAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = -7145253382234265183L;
private String id;
private String name;
private String birthday;
private Person person;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
public String getParameter() {
System.out.println (id + " 前台获取id");
System.out.println (name + " 前台获取name");
System.out.println (birthday + " 前台获取birthday");
System.out.println (this.person.getAge() + " 前台获取人员的age");
System.out.println (this.person.getSex() + " 前台获取人员的sex");
return "parameter";
}
}
struts.xml配置文件:
<?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>
<package name="getParameter" namespace="" extends="struts-default">
<action name="getParameter_*" class="com.sinwee.action.GetParameterAction" method="{1}">
<result name="parameter">
/showParameter.jsp
</result>
</action>
</package>
<!-- Add packages here -->
</struts>
web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
</web-app>
- 大小: 6.4 KB
分享到:
相关推荐
2. Action类相应方法使用封装好的HttpClient相关工具类,准备好HTTP请求的相关参数header参数和body参数并以xml的方式提交HTTP请求; 3. 解析该HTTP请求返回值(XML或JSON); 4. 响应结果; 5. 测试; 备注: 开发...
3,model 实体类模型 4,service 逻辑业务层 5,util 工具类 log4j.properties 日志文件 *.properties配置文件 Struts.xml 配置action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传...
3,model 实体类模型 4,service 逻辑业务层 5,util 工具类 log4j.properties 日志文件 *.properties配置文件 Struts.xml 配置action WebRoot根目录 fckeditor在线编辑器, images img 图片 upload,updown 上传...
- `src/main/java`: 存放源代码,包括Spring配置、Struts Action、Hibernate实体类和DAO(Data Access Object)。 - `src/main/resources`: 包含Spring的配置文件(如`applicationContext.xml`)、Hibernate的映射...
2. 控制层:Struts2的Action类,接收前端请求,调用业务逻辑,返回结果到前端。 3. 服务层:Spring的Service接口及其实现,封装业务逻辑,如用户登录验证、房间预订处理等。 4. 模型层:实体类,对应数据库中的表,...
这需要在Action中接收前端传递的查询参数,并在Service或DAO层编写动态SQL,根据条件生成不同的查询语句。 7. **Action和Result**:Struts2的Action类是业务逻辑的载体,它处理请求,执行业务逻辑后返回一个Result...
例如,Spring的IoC容器可以创建并注入UserService,使得在Action中可以直接使用,无需关心对象的创建和销毁。 **Hibernate** 是一个持久化框架,简化了数据库操作。在用户注册项目中,Hibernate用于与数据库交互,...
具体到代码结构,ssh.action包包含与页面交互的控制类,ssh.service包包含服务类以处理数据库交互,ssh.dao包包含了数据库操作的具体实现,而ssh.entity包则定义了数据库对象的实体类。 在设计说明章节,尤其是前台...
6. **Hibernate实体和映射**:在实体类上使用Hibernate注解,如`@Entity`表示数据库表,`@Id`标识主键,`@GeneratedValue`生成策略等,简化了数据库模型的配置。 7. **数据库操作**:SSH2中的Hibernate层负责与...
3. 定义Action类和Point实体:在Action类中,定义一个Point类型的属性,并在实体类Point中创建对应的getter和setter方法。 ```java public class MyAction { private Point point; // getters and setters } ...
- `Menu.java`:菜单实体类,可能包含菜单ID、名称、链接等属性。 - `menu.jsp`:展示菜单的JSP页面。 通过学习和理解这个SSH登录动态菜单案例,你可以深入掌握Java Web开发中的常见技术和最佳实践,对于提升企业级...
3. **Model**:模型层通常包括数据库访问对象(DAO)和实体类(Entity)。DAO负责与数据库交互,实现数据的读写操作。实体类则封装了数据库中的表记录,如Book实体类包含书名、作者、出版社等属性。 4. **View**:...
在这个Blog系统中,模型类通常会对应数据库中的表,如用户、文章、评论等实体类,它们封装了与数据库交互的逻辑,提供获取和设置数据的方法。 2. **视图(View)**:视图层是用户界面,负责展示数据。在本项目中,...
在这个拍卖系统中,Struts可能负责接收用户请求,解析参数,调用相应的业务服务,然后将结果返回给前端。Struts的Action类是业务逻辑的入口,它将用户的操作映射到具体的功能。 **Hibernate框架**: Hibernate是一...
开发者可以定义Action类来对应特定的URL请求,通过配置Struts2的XML配置文件,设置Action的执行路径、结果页面和参数绑定等。此外,Struts2的拦截器功能允许开发者在请求处理过程中添加自定义逻辑,如权限验证、日志...
【标题】"struts+spring+hibernate租房项目"是一个基于JavaEE技术栈的实战应用,它结合了Struts1、Spring和Hibernate三个核心技术,旨在实现一个完整的网上租房系统,包括前台展示和后台管理功能。 【Struts1】是...
4. **Entity**:实体类(Entity)是业务模型的代表,通常对应数据库中的表。它们包含了数据字段和相关的方法,是DAO层与数据库交互的对象。 5. **后台管理界面**:这是管理员进行新闻管理的地方,包括添加新新闻、...
* 表示层中,JSP网页接收用户请求,并给出相应响应,Struts根据配置文件Struts.xml分配给相应的Action响应用户请求 * 业务层中,由业务模型组件和对象处理组件给出处理用户请求的逻辑,并由Spring框架提供依赖注入...