在struts2里面可以使用user.username这个的方法来对user这个对象实例化加上赋值(这里需要注意的是:user是一个类必须在action里面有set方法,,在user类里面必须是一个无参数的构造方法的类和有username的set方法)
代码如下:
UserAction类
public class UserAction extends BaseAction {
private User user;
public void setUser(User user) {
this.user = user;
}
public String index() {
return SUCCESS;
}
BaseAction类
package com.vstar.web.action;
import com.opensymphony.xwork2.ActionSupport;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 1L;
protected HttpServletRequest request;
protected HttpServletResponse response;
protected String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
}
实体User类
package com.vstar.web.entity;
public class User {
private String username;
private String pass = "";
private boolean webInsert;
private boolean webUpdate;
private boolean webDelete;
private boolean webSelect;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPass() {
return pass;
}
public void setPass(String password) {
this.pass = password;
}
public boolean isWebInsert() {
return webInsert;
}
public void setWebInsert(boolean webInsert) {
this.webInsert = webInsert;
}
public boolean isWebUpdate() {
return webUpdate;
}
public void setWebUpdate(boolean webUpdate) {
this.webUpdate = webUpdate;
}
public boolean isWebDelete() {
return webDelete;
}
public void setWebDelete(boolean webDelete) {
this.webDelete = webDelete;
}
public boolean isWebSelect() {
return webSelect;
}
public void setWebSelect(boolean webSelect) {
this.webSelect = webSelect;
}
}
但是这样赋值传进去一个参数是没有问题的,例如index.do?user.username=213这样的方式
实际上我们可能需要传入2个参数,比如index.do?user.username=admin&user.pass=admin,这样的情况如果是这样我们在action内调用user.getUsername()或user.getPassword()方法时候就会出问题,经过测试我得到在action必须加上user的get方法才能成功
下面我来说下我对struts2这时候再做什么的一种想法,struts2处理参数时,先找到user这个对象get方法,如果没有则创建一个新的对象,如果有则找到运行这个方法得到这个user对象,如果这个对象为null,则创建一个新的对象.
分享到:
- 2008-10-30 14:45
- 浏览 1712
- 评论(0)
- 论坛回复 / 浏览 (0 / 1519)
- 查看更多
相关推荐
在标题和描述中提到的"struts2 配置dtd 自动提示"是指在Eclipse中为`struts.xml`文件配置DTD自动提示的过程。这能帮助开发者避免手动记忆所有可能的标签、属性和它们的取值,提高开发效率并减少错误。 在`struts....
这个"struts2 类包"集合包含了几个关键的库文件,这些文件对于理解Struts2框架的工作原理以及在实际项目中使用Struts2至关重要。 1. **freemarker-2.3.10.jar**:FreeMarker是一个强大的模板引擎,用于生成动态HTML...
Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...
Struts2的安全漏洞主要包括以下几类: 1. OGNL(Object-Graph Navigation Language)表达式注入:这是Struts2最著名的漏洞类型,由于框架在处理用户输入时没有进行充分的过滤和验证,攻击者可以通过构造恶意的OGNL...
4. **struts2-convention-plugin.jar**:这是Struts2的约定优于配置插件,它简化了Action类和结果配置,使得开发者可以按照一定的命名规则来自动映射URL。 5. **struts2-plugins*.jar**:Struts2有许多插件,如...
Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试Struts2漏洞测试...
“Struts2.3.1.2_API.chm”文档包含了Struts2框架的详细API,其中涵盖了各个主要类和接口的解释、方法签名、参数说明以及返回值类型。开发者可以通过查阅此文档,快速查找特定功能的实现方式,例如ActionSupport类,...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
- **Action类详解**:Action类是Struts2的核心组件之一,负责处理用户的请求并返回相应的结果。了解如何编写Action类、设置其属性以及处理请求参数至关重要。 - **Result配置**:Result用于指定Action执行后的结果...
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
通常,Struts2的核心库和其他依赖库会以JAR(Java Archive)文件的形式包含在项目中,这些JAR文件包含了框架的所有类和方法。开发者需要将这些JAR文件添加到项目的类路径中,以便能够使用Struts2的功能。文件可能会...
在Struts2框架中,单元测试对于验证Action类、拦截器、结果类型以及其他核心组件的行为尤其关键。 在Struts2的4.2.4版本中,提供了专门的单元测试jar包,使得开发者能够方便地对Struts2的组件进行单元测试。这个jar...
Action类需要继承自Struts2提供的基类或实现特定接口,如`ActionSupport`。 **六、路径问题的说明** Struts2通过Action和Namespace来决定URL路径。Action的全名由Namespace和ActionName组成,例如`/admin/save`,...
struts2 chm 程序包 org.apache.struts2 接口概要 接口 说明 StrutsStatics Constants used by Struts. 类概要 类 说明 RequestUtils Request handling utility class. ServletActionContext Web-specific ...
这个“超好的Struts2 pdf 文档”很可能包含了关于Struts2的全面介绍、核心概念、配置、拦截器、结果类型、动作类、插件、以及最佳实践等内容。 Struts2的核心概念主要包括以下几个方面: 1. **Action**:在Struts2...
- 配置Struts2:在`struts.xml`配置文件中定义Action类、结果页面和拦截器。 - 创建Action类:这是处理用户请求的核心,实现业务逻辑。 - 编写JSP页面:使用Struts2的标签库来展示数据和处理用户输入。 3. **...
- **类型转换失败后也会进入input视图**: 当用户提交的数据无法被正确转换为预期类型时,Struts2框架可以配置为显示一个“input”视图,以提示用户重新输入。 4. **OGNL (Object-Graph Navigation Language)**: ...
在提供的“struts2 demo”压缩包中,你可以找到这些概念的具体实现,包括Action类、视图页面、配置文件等,通过分析和运行这些示例,你可以深入理解Struts2的工作原理和用法。这个压缩包对于初学者来说是一个很好的...
1. **Action和结果映射**:在Struts2中,Action类负责处理HTTP请求,执行业务逻辑,并通过Result来决定视图如何展示。配置文件(通常为struts.xml)定义了Action与Result的映射关系。 2. **拦截器(Interceptors)*...
这些jar文件是Struts2框架运行的基础,开发者需要将它们添加到项目的类路径中,以便能够利用Struts2的各种特性。 Struts2的核心jar包包括以下几个主要部分: 1. `struts2-core.jar`:这是Struts2框架的核心库,...