Struts2中Action三种接收参数形式与简单的表单验证功能

网友投稿 254 2023-06-04


Struts2中Action三种接收参数形式与简单的表单验证功能

有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的Action接收参数的形式,直接在我们的Action类中添加成员变量,这样就可以完成Action接收参数的操作,具体内容详见代码展示:

这里我们以登录验证为例,进行代码展示,首先是我们的Action类:

/***

* 最基本的接收参数形式

* @author jho

* http://localhost:8080/Struts3/index!login?name="123"&password="456"

*/

@SuppressWarnings("serial")

public class User extends ActionSupport {

private String name;

private int pwd;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getPwd() {

return pwd;

}

public void setPwd(int pwd) {

this.pwd = pwd;

}

public String login(){

System.out.println("name="+name+" Pwd="+pwd);

if(123456==pwd){

return SUCCESS;

}else{

return ERROR;

}

}

}

下面我们一起来看一下Action的第二种接收参数的形式,通过User类对象来完成整个的参数接收,首先我们创建一个User类:

public class User {

private String name;

private String password;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;xOPiJYlth

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

}

然后通过User对象在Action中进行用户提交参数的接收:

/***

* Dormain Model

* @author jho

* http://localhost:8080/Struts4/index!login?user.name="123"&user.password="456"

*/

@SuppressWarnings("serial")

public class UserAction extends ActionSupport {

private User user;

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

public String login(){

System.out.println("name="+user.getName()+" Pwd="+user.getPassword());

return SUCCESS;

}

}

最后是通过Struts的ModelDriven来进行用户参数的接收,第一步创建我的User类对象,第二部配置我们的Action:

/***

* Model Driven

* @author jho

* http://localhost:8080/Struts5/index!login?name="123"&password="456"

*/

@SuppressWarnings("serial")

public class UserAction extends ActionSupport implements ModelDriven{

private User user = new User();

public String login(){

System.out.println("name="+user.getName()+" Pwd="+usehttp://r.getPassword());

return SUCCESS;

}

public User getModel() {

return user;

}

}

所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象。

对于简单的表单验证知识,就为大家介绍一下addFieldError()方法:

@SuppressWarnings("serial")

public class InputErrorFilter extends ActionSupport{

private String name;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public String execute() throws Exception {

return SUCCESS;

}

public String login(){

System.out.println(name+"");

if(name!=null && name.equals("hpu")){

return SUCCESS;

}else{

this.addFieldError("nameError", "用户名输入有误");

this.addFieldError("nameError", "ul li形式输出错误信息");

return ERROR;

}

}

}

我们的错误处理页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<%@taglib uri="/struts-tags" prefix="s"%>

操作失败

输入参数:



以上所述是给大家介绍的Struts2中Action三种接收参数形式与简单的表单验证功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解在Spring MVC中使用注解的方式校验RequestParams
下一篇:微信小程序 弹窗自定义实例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~