Attribute——属性接受参数

本文介绍了一个简单的Struts2应用实例,通过UserAction类实现用户信息的添加功能。该示例展示了如何配置Struts2框架,定义Action类处理HTTP请求,并返回相应的视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.zchen.struts2.user.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
	private String name;
	private int age;
	public String add() {
		System.out.println("name=" + name);
		System.out.println("age=" + age);
		return SUCCESS;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}
<?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="user" extends="struts-default" namespace="/user">     
        <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            <result>/user_add_success.jsp</result>
        </action>
    </package>
</struts>

 

<body>
使用action属性接收参数<a href="user/user!add?name=a&age=8">添加用户</a>	
</body>

 

### 解决 'response' 对象没有 get 属性的错误 当遇到 `'response' object has no attribute 'get'` 错误时,这通常意味着尝试在一个不支持 `get` 方法的对象上调用了该方法。在 Python 的 Web 开发框架中,如 Django 或 Flask 中,HTTP 请求和响应对象有不同的属性和方法。 对于 Django 框架中的请求处理逻辑,如果需要获取查询参数,则应该操作的是 `request` 对象而不是 `response` 对象: ```python if self.request.GET.get('export_xls_header', 'off') == 'on': # 处理导出逻辑 ``` 上述代码片段展示了如何正确访问 URL 查询字符串参数[^1]。然而,在某些情况下可能会混淆 `request` 和 `response` 对象的角色。为了修正此问题并防止未来发生类似的误解,建议遵循以下实践: #### 正确区分 Request 和 Response 对象 - **Request**: 用于接收来自客户端的数据(例如表单提交、URL 参数)。可以从中读取数据来决定服务器端的行为。 - **Response**: 向客户端发送的信息体,包括状态码、头部以及主体内容等。不应期望它具有像 `GET` 这样的属性或方法。 #### 使用 Mock 库模拟测试环境下的行为 有时开发者会在单元测试期间试图通过设置 mock 响应来进行验证工作。此时应当注意所使用的库及其功能特性。比如使用 `unittest.mock` 来创建虚拟对象实例,并定义其预期的方法调用路径[^2]。 #### 数据库交互示例 (PostgreSQL) 虽然这个问题与数据库无关,但在构建应用程序时了解不同组件之间的关系仍然很重要。例如,在连接 PostgreSQL 数据库时会涉及到另一个重要的第三方模块——Psycopg2 。这个库允许 Python 脚本执行 SQL 查询并与数据库通信[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值