属性驱动 | 学习笔记

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

开发者学堂课程【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(){

把关注点搞清楚

相关文章
|
存储 SQL Java
JAP4|学习笔记
快速学习JAP4
159 0
JAP4|学习笔记
|
开发工具 Android开发 iOS开发
快速开始|学习笔记
快速学习快速开始
81 0
快速开始|学习笔记
|
算法 Scala 开发者
拉链的介绍和使用 | 学习笔记
快速学习拉链的介绍和使用
80 0
|
Kubernetes Cloud Native Linux
K8S 初识_K8S 初识 | 学习笔记
快速学习 K8S 初识_K8S 初识
97 0
K8S 初识_K8S 初识 | 学习笔记
|
分布式计算 前端开发 Java
wildcardQuery|学习笔记
快速学习 wildcardQuery。
313 0
wildcardQuery|学习笔记
|
开发者 索引
matchAllQuery | 学习笔记
快速学习 matchAllQuery
117 0
matchAllQuery | 学习笔记
|
弹性计算 缓存 Linux
使用 syncthing | 学习笔记
快速学习使用 syncthing,介绍了使用 syncthing 系统机制, 以及在实际应用过程中如何使用。
305 0
使用 syncthing | 学习笔记
|
开发者 Python
练习|学习笔记
快速学习练习
76 0
|
缓存 Dubbo 应用服务中间件
本地存根|学习笔记
快速学习本地存根
76 0
本地存根|学习笔记
|
架构师 开发者
高压线|学习笔记
快速学习高压线。
66 0