属性驱动 | 学习笔记

简介: 快速学习属性驱动,介绍了属性驱动系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门属性驱动】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7298


属性驱动

 

以对象的方式处理表单数据

从前台提交到后台,只要用 action 属性名称与前台表单的属性名称要一致,而且设置get 方法,便于在前台展示它,不管获取数据还是寻找数据,应该把它作为 action 的属性。

以前是作为普通的设计来写,但是不是很好,Java 是以面向对象的形式去编程,这个属性分散,应该是 user 的属性,所以他显然不属于 loginAction,希望以对象的方式处理他,在 action 里仅仅处理 user,LoginAction 处理 user 意义不大。

当然这个 struts 就是这么处理,去找其他的框架就不是这么处理的,直接传参,跟你方法的参数有关系。学习 struts2的规则,遵循规则即可。

新建一个项目,拷贝一个,名字为05struts2_data,把前面两个关掉,清理一下,默认情况发布证明是不对的,改一下。

把它改成05,发布项目,下面应该是有其他的项目,把04给删除。下面 Action 留一个,以后写。

名字为 user,然后 int age,可以看到工作类型转换,再来一个 email,这个方法可以把 get set 生成。

写一个 useraction,在里面可以处理,数据写一个 user,以对象的形式作为创建方法,处理它也需要生成 get set 的方法。

写一个注册,并不是真正的注册,register,返回 Action. SUCCESS,输出这个 user,然后把 user2 string 改一下。

需要把配置也改一下,user, register,这些配置解释不再介绍,改完之后去到 show页面,第一个页面是 register 的页面,第二个是 show 页面,Register 一定是表达数据,用户名,name 写 user. name,user 下面的属性,这个 user 和下面的属性要一致。

public class User

private String name;

private String pwd; I

private int age;

private String email;

public String getName()

return name;

publie void setName(String name)

this, name name;

publie String getPwd(){

名称千万不要第一个小写,第二个大写,值是设置不上去的。曾经做过统计,p是小写的,设值找的是大写的,结果也不报错,其实很简单,改个名字即可,不要犯这种错误。

密码,年龄,邮箱:

<body>

<form action="register. action" method="post">

用户名:< input type="text"name=user.name"<br

<input type="password" name="user. pwd"/><br>

年龄:<input type="text"name="user.age"/><br>

邮箱:<input type="text"name=user. email"><br>

<input type="submit" value="提交"/>

</form>

</body>

show 可以显示 user,注意看一下显示结果。访问一下 register. jsp,年龄23,邮箱写成 ader,报错,找不到 execute。

加上 method,method 也是 register,刷新一下,随便写,没有报错,值没有设置上去,需要自己验证,后台报错失败。

设置正常,后台输出正常,显然是 string 的方法,以对象的形式得到了。表达式调用突出这种方法。

Jsp 页面

<form action="register. action" method="post">

用户名:<input type="text"name=user.name"x<br

密码:<input type=password

name="user.pwd"/>br>

年龄:<input type="text"name=user.age"/br

邮箱:<input type="text"name=user emailbr

<input type=submit"value=提交”/>

</form>

Action 代码

public class UserAction

private User user 

/注册

public String register(){

System.out. printIn(user)

rcturn Action. SUCCESS

public User getUser(){

return user;

public void setUser(User user){

this.user=user;

}

}

User 类型

oublic class User

private String name;

private String pwd

private int age

private String email

public String getName(){

return name;

}

public void setName(String name){

this. name =name;

}

public String getPwd(){

return pwd;

}

public void setPwd(String pwd){

this. pwd=pwd;

}

public int getAge(){

把关注点搞清楚

相关文章
|
存储 缓存 NoSQL
Redis的5.0/6.0/7.0版本重点介绍以及使用!
1. Stream数据类型:Redis 5.0引入了Stream数据类型,它是一种日志结构,用于高性能、持久化和实时处理的数据流。Stream可以按照时间顺序存储和检索消息,并支持消费者组和消费者偏移量管理等功能。 2. 基于模块的全文搜索:Redis 5.0通过引入Redis Search模块,提供了全文搜索的功能。它支持对文本字段进行索引和搜索,包括分词、词项权重、布尔查询等功能。 3. 客户端缓存:Redis 5.0引入了客户端缓存(Client-side caching)功能。客户端可以缓存服务器返回的数据,减少对服务器的请求,提高性能和响应速度。
4150 1
|
设计模式 前端开发 Java
DTO和VO的区别及使用场景详解
DTO和VO的区别及使用场景详解
7455 1
|
缓存 JavaScript Cloud Native
阿里云发布 Spring Boot 新脚手架,真香
本文,围绕 spring initializr 框架,以 start.spring.io 为例,全面的给大家介绍如何使用和扩展这个框架,以及背后的运行原理。
58469 1
阿里云发布 Spring Boot 新脚手架,真香
|
XML Java 数据库
配置applicationContext.xml文件
配置applicationContext.xml文件
|
SQL Java 数据库连接
MyBatis-Plus快速入门:从安装到第一个Demo
本文将带你从零开始,快速入门 MyBatis-Plus。我们将首先介绍如何安装和配置 MyBatis-Plus,然后通过一个简单的示例演示如何使用它进行数据操作。无论你是 MyBatis 的新手还是希望提升开发效率的老手,本文都将为你提供清晰的指导和实用的技巧。
2911 0
MyBatis-Plus快速入门:从安装到第一个Demo
|
XML JSON Java
Log4j2.xml 配置文件详解
Log4j2.xml 配置文件详解
3248 0
|
3天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1083 152