第二种是:将对象写在action中:
在action中 我只写了一个user 对象 :
action 中的内容:
package com.luhua.test;
import com.luhua.pojo.User;
public class UserAction {
//用户
private User user ;
public void setUser(User user) {
this.user = user;
}
public String user(){
System.out.println(user.getUsername());
return "success" ;
}
public String execute(){
return "success" ;
}
}
user类中:只有一个username的属性,并提供了get和set方法
package com.luhua.pojo;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
public User(){}
private String username ;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
在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>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<action name="welcome" class="com.luhua.test.UserAction" method="execute">
<result name="success">index.jsp</result>
</action>
<action name="user" class="com.luhua.test.UserAction" method="user">
<result name="success">success.jsp</result>
</action>
</package>
</struts>
jsp页面有两张,index.jsp 和 success.jsp 从index.jsp中输入用户名; 在action中打印出来
页面的输入的name必须是对象名.属性名
index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<form action="user" method="post">
username:<input type="text" name="user.username"/>
<input type="submit"/>
</form>
</body>
</html>
success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
user
</body>
</html>
分享到:
相关推荐
标题中的"Struts驱动"可能指的是与Struts框架相关的各种依赖库,包括但不限于数据库驱动、Servlet容器驱动等,这些都是确保Struts应用程序正常运行所必需的组件。 在描述中提到的"兼容性高"和"最稳定"的驱动,这...
#### 第二种方式:使用 Domain Model(域模型) **概念解释:** 域模型是一种设计模式,它将应用程序的核心业务逻辑封装在一个或多个模型对象中。在 Struts2 中,这种方式意味着我们将使用一个特定的 Java 对象...
在Struts 1.1中,可以通过在web.xml和struts-config.xml中配置数据源,例如使用Apache Commons DBCP或C3P0等第三方库。 在处理数据库操作时,Struts 1.1应用可能会利用ActionForm来封装用户输入的数据,然后通过...
Struts框架提供了一种组织应用程序结构和控制应用程序流程的方式,使得开发者可以更有效地创建、测试和维护Web应用。在这个“Struts驱动包”中,包含了Struts 1.2.9版本的必要组件,以及一个空项目,可以作为学习或...
第二步:配置struts.xml文件,定义一个Action类及其对应的页面结果。在这个例子中,标签定义了名为"login"的Action,而标签则指定了登录成功后跳转的页面。 第三步:编写Action类,例如ognl.OgnlAction类,该类应...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...
Struts2和Hibernate3是两种在Java Web开发中广泛应用的技术,它们分别负责表现层和持久层的管理。Struts2是一款强大的MVC框架,用于构建结构清晰、易于维护的Web应用,而Hibernate3则是一个对象关系映射(ORM)工具...
- Struts2支持模型驱动,允许Action直接引用业务对象,减少了数据转换的繁琐工作。 6. **插件系统**: - Struts2拥有丰富的插件库,如Struts2-dojo-plugin、Struts2-convention-plugin等,可以方便地集成第三方库...
此外,Struts2支持模型驱动特性,允许使用现有的业务对象作为输入/输出对象,减少了代码冗余并提高了代码复用性。 #### 6. 表达式语言的改进 - **Struts1**: Struts1集成了JSTL,使用JSTL的表达式语言(EL),支持...
Struts2则直接将Action属性作为输入属性,简化了输入处理,同时支持富对象类型作为输入/输出对象,增强了模型驱动特性。 表达式语言方面,Struts1集成JSTL EL,但其对集合和索引属性的支持较弱。Struts2引入了更...
总的来说,Struts2的属性驱动和模型驱动提供了两种不同的数据管理方式,开发者可以根据项目需求选择合适的模式。同时,通过`Token Interceptor`,我们可以有效地防止表单重复提交,确保数据的准确性。最后,通过合理...
它支持事务管理、查询语言(HQL)和第二级缓存。在Hibernate 3.0版本中,引入了Criteria API,提供了一种更灵活的查询方式,同时增强了对JPA的支持。 SQL Server 2005 是微软公司推出的一种关系型数据库管理系统,...
在开发Java Web应用程序时,`Struts2`和`Hibernate3`经常被组合使用,以构建数据驱动的交互式Web应用。`Struts2`是一个强大的MVC框架,负责处理用户请求并展示结果,而`Hibernate3`则作为对象关系映射(ORM)工具,...
5. **模型驱动(ModelDriven)**:Struts2支持模型驱动,允许Action类引用一个模型对象,这样可以直接操作模型对象属性,简化视图与模型的数据绑定。 6. **工作流(Workflow)**:Struts2的工作流组件负责解析用户...
Struts1和Struts2是两个著名的...总结来说,Struts2在很多方面改进了Struts1.x的设计,提供了更灵活的架构、更简单的配置、更好的测试支持以及更直接的数据绑定方式。这使得Struts2成为Java Web开发中更受欢迎的选择。
在Struts2中,我们可以通过Spring或Apache DBCP等第三方库来管理数据源。配置文件如Web.xml或应用的特定配置文件中应包含数据库连接参数,如URL、用户名、密码等。 进行CRUD操作时,我们需要设计对应的实体类,这些...
Struts2是一个非常著名的Java Web开发框架,它提供了一种模型-视图-控制器(MVC)架构,便于开发者创建动态、数据驱动的Web应用程序。标题中的"struts2-2.3.32-all"指的是Struts2框架的2.3.32版本的完整包,通常包含...
综上所述,Struts2相较于Struts1,在灵活性、可扩展性、易用性和性能方面都有显著提升,特别是在模型驱动、表达式语言、视图管理和拦截器机制等方面展现了明显的优势。然而,选择何种框架还需根据项目需求、团队熟悉...
Struts2 虽然在大版本号上是第二个版本,但基本上在配置和使用上已经完全颠覆了 Struts1.x 的方式(当然, Struts2 仍然是基于 MVC 模式的,也是动作驱动的,可能这是唯一 没变的东西)。 Struts2 实际上是在 ...
Struts2的设计目的是为了替代传统的Servlet技术,并提供一种更加简洁、高效的处理用户请求的方式。 ##### 1.2 Struts2的核心特点 - **核心机制**:Struts2采用拦截器机制处理用户的HTTP请求,这使得业务逻辑控制器...